我有一个Admob广告的应用程序,但我发现当我使用它时,广告几乎从不刷新,因为我不更改活动,而只是按下按钮时更新文本视图。我曾尝试在Google上搜索此内容,但不断缩短。
我想告诉应用程序偶尔刷新添加,例如点击两次按钮后或类似的东西。有谁知道如何做到这一点,并可能有一些示例代码?
答案 0 :(得分:21)
现在使用新的SDK:
AdView.loadAd(new AdRequest());
答案 1 :(得分: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 :(得分:7)
作为替代方案,您还可以按指定的时间间隔为您提供Admob刷新广告。在Admob中,转到“网站和应用”,然后点击所需应用的“管理设置”。然后单击“应用程序设置”。在“自动刷新”下,您可以更改应用中广告的刷新率。
编辑:使用新的admob界面,它在Monetize>我的应用名称>我的添加单位名称>刷新率(感谢ripegooseberry)
答案 3 :(得分:3)
在新的Api版本AdRequest()
上,constuctor是私有的;你必须使用
AdRequest.Builder
课程:
mAdView.loadAd(new AdRequest.Builder().build())
答案 4 :(得分:0)
将活动中的adView声明为数据成员,然后在活动的构造函数中创建Timer Task
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);
答案 5 :(得分: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);
答案 6 :(得分:0)
private AdRequest adRequest = null;
private void loadBannerRun() {
if(adRequest != null) {
adView.loadAd(adRequest);
return;
}
adView.setAdUnitId(BANNER_AD_TEST);
adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
请测试