2016-05-31 3 views
4

Некоторые пользователи намеренно пытаются многократно нажимать баннерную рекламу. В связи с этим мы сталкиваемся с проблемой приостановки или прекращения действия учетной записи. Кто-нибудь знает, как остановить загрузку объявления, если оно пересечет какой-то предел (например, 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. 
    } 

ответ

0

Вы можете определить, нажата ли реклама, используя обратные вызовы жизненного цикла активности. вы можете узнать, сколько времени пользователь нажал на ваше объявление и позвонил adView.loadAd(adRequest);, только если пользователь нажал ваше объявление меньше, чем ваш порог.

0

Это должно работать:

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); 
    } 
} 
1

LinearLayout ID = контейнер AdView ID = AdView

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

Спасибо всем за ваш ответ.

+0

Но вы по-прежнему загружаете объявление в фоновом режиме. Разве это не создало бы поддельные впечатления? Если вы посмотрите на мой ответ, вы увидите, что он не загружает объявление, если не нужно. –

+0

Кроме того, вы можете лучше использовать 'adView.setVisibility (View.INVISIBLE);'. Потому что теперь люди будут нажимать на объявление, чтобы оно исчезло. –

0

Вы также можете ограничить количество объявлений, отображаемых для пользователя в системе AdMob. Вы можете установить ограничение по 3 объявления на пользователя за минуту, час или день.