2010-10-02 95 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())