2010-10-02 63 views
13

我有一個Admob廣告的應用程序,但我發現當我使用它時,廣告幾乎從不刷新,因爲我沒有更改活動,而只是更新文本視圖時按鈕被按下。我曾嘗試在Google上搜索這個內容,但不斷縮短。如何強制Admob在Android上刷新

我想告訴應用程序偶爾刷新添加,如兩次按鈕點擊或類似的東西。有誰知道如何做到這一點,並可能有一些示例代碼?

回答

20

有了新的SDK現在是:

AdView.loadAd(new AdRequest()); 
+1

謝謝。備註:在我的情況下,這項工作只在'runOnUiThread' – 2013-12-16 18:23:36

18

以前版本的API:

AddView.requestFreshAd() 

新的API版本:

AdView.loadAd(new AdRequest()) 

此外,你可以簡單地設置在佈局XML文件中的AdView元素的refreshInterval屬性的刷新間隔。或者,您可以通過AdMob網站上的帳戶設置爲應用中的廣告設置refreshInterval。

文檔: http://code.google.com/mobile/ads/docs/android/intermediate.html#adrefresh

+2

對於絆倒這個遲到的人 - requestFreshAd()不存在。 refreshInterval的後面部分很漂亮。 – 2011-08-22 08:23:02

+3

requestFreshAd()在某些時候從API中被刪除。然而,它在我最初寫這個答案的時候是可用的。 – 2012-01-23 18:52:39

7

作爲替代你也可以有AdMob聯播在您指定的時間間隔刷新廣告給你。在Admob中,轉到「網站和應用程序」,然後點擊您想要的應用程序的「管理設置」。然後點擊「應用程序設置」。在「自動刷新」下,您可以更改應用中廣告的刷新率。

編輯:在新版AdMob界面是獲利>我的應用程序名稱>在我的添加設備名稱>刷新率(感謝ripegooseberry)在活動數據成員

+1

我必須去賺錢>我的應用程序名稱>我的添加單元名稱>刷新率 – ripegooseberry 2014-10-02 12:04:11

+1

感謝@ripegooseberry,我敢肯定我的指示從兩年前過時 - - 它們適用於舊的admob界面 – russter 2014-10-02 20:53:10

0

聲明AdView中,然後創建計時器任務,如波紋管您對活動的構造

adView = (AdView) findViewById(R.id.adView); 
     TimerTask tt = new TimerTask() { 

      @Override 
      public void run() { 
      MainActivity.this.runOnUiThread(new Runnable() { 
       public void run() { 
        adView.loadAd(new AdRequest()); 
       } 
      }); 

     } 
    }; 

    Timer t = new Timer(); 
    t.scheduleAtFixedRate(tt, 0, 1000 * 60); 
0
//New AdRequest 

    ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5); 


scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() { 
    public void run() { 
     runOnUiThread(new Runnable() { 
      public void run() { 
       AdRequest adRequest = new AdRequest.Builder().build(); 
       adView.loadAd(adRequest); 
      } 
     }); 
    } 

}, 0, 30, TimeUnit.SECONDS); 
1

在新版API AdRequest() constuctor是私有的;你必須AdRequestBuilder等級:

mAdView.loadAd(new AdRequest.Builder().build())