vishal gupta
vishal gupta

Reputation: 507

How to stop Banner Ad loading?

Some user intentionally try to click banner ads many times.Due to this we face problem of account suspension or termination. Does anyone know how to stop the ad being loading if it cross some limit(for example 3).

    AdView adView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
            .setRequestAgent("android_studio:ad_template").build();

    adView.loadAd(adRequest);
    if(currentbannerclick>3)
    {

       // some code to not load the ad.
    }

Upvotes: 6

Views: 1763

Answers (5)

Grzegorz Bielański
Grzegorz Bielański

Reputation: 958

You can also limit number of Ads displayed for user in AdMob System. You can set limit of 3 ads per user per minut, hour or day.

Upvotes: 0

vishal gupta
vishal gupta

Reputation: 507

LinearLayout id=container AdView id=adView

    if(currentbannerclick>3)
    container.removeView(adView);

Thank you everyone for your answer.

Upvotes: 1

Thomas Vos
Thomas Vos

Reputation: 12571

This should work:

private void loadAd() {
    // This is a one element array because it needs to be declared final
    // TODO: you should probably load the default value from somewhere because of activity restarts
    final int[] currentBannerClick = {0};

    final AdView adView = (AdView) findViewById(R.id.adView);
    adView.setAdListener(new AdListener() {
        @Override
        public void onAdOpened() {
            super.onAdOpened();
            currentBannerClick[0]++;
            if (currentBannerClick[0] > 3) {
                adView.setVisibility(View.INVISIBLE);
                adView.destroy();
            }

            // TODO: save currentBannerClick[0] somewhere, see previous TODO comment
        }
    });

    if (currentBannerClick[0] <= 3) {
        AdRequest adRequest = new AdRequest.Builder().addTestDevice(YOUR_DEVICE_ID).build();
        adView.setVisibility(View.VISIBLE);
        adView.loadAd(adRequest);
    } else {
        adView.setVisibility(View.INVISIBLE);
    }
}

Upvotes: 1

Alberto M&#233;ndez
Alberto M&#233;ndez

Reputation: 1064

You can attach an AdListener to your AdView and increase your click counter in the onAdLoaded or onAdOpened methods. More info here: https://developers.google.com/android/reference/com/google/android/gms/ads/AdListener#public-methods

Upvotes: 0

S.Ahsan
S.Ahsan

Reputation: 399

You can identify if Ad is clicked using Activity life-cycle callbacks. you can then find out how much time user clicked your Ad and call adView.loadAd(adRequest); only if the user clicked your Ad less than your threshold.

Upvotes: 0

Related Questions