2016-05-31 155 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 = AD瀏覽

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

謝謝大家的回答。

+0

但您仍然在後臺加載廣告。這不會產生假印象嗎?如果您查看我的答案,則可以看到,如果不需要,它不會加載廣告。 –

+0

除此之外,您可以更好地使用'adView.setVisibility(View.INVISIBLE);'。因爲現在人們要點擊廣告才能消失。 –

0

您還可以限制在AdMob系統中爲用戶顯示的廣告數量。您可以設置每個用戶每分鐘,每小時或每天3個廣告的限制。