Android和AdMob:何时调用AdView.loadAd
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android和AdMob:何时调用AdView.loadAd相关的知识,希望对你有一定的参考价值。
何时是从AdMob加载新广告的“最佳时刻”?
我正在编写一个在主屏幕上有一个admob横幅的购物清单应用程序。
首先我打电话给
m_AdView.loadAd(new AdRequest());
在onCreate()方法中。但所以我总是展示同样的广告。
现在我想将调用放入onResume()。但是,是否有可能导致过多的网络流量?
加载adMob
的最佳地点是onCreate()
。所以,我会把它留在onCreate()
方法中。不要担心广告的显示内容,因为它是adMob api告诉它显示的内容。它可能处于测试模式,所以当你“实时”运行它时,它会改变。您获得广告的事实意味着它正在发挥作用。
以下是我对我的应用所做的事情:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setContentView(R.layout.detail);
AdView adView = (AdView)this.findViewById(R.id.adView2);
AdRequest re = new AdRequest();
adView.loadAd(re);
...
官方文档告诉将loadAd()放入onCreate(),因为您还必须在清单中注册AdActivity:
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode"/>
我想它会坚持主活动的生命周期,因此正确处理onPause()和onResume()。
编辑
根据admob sample,您必须将生命周期调用委托给AdView实例。
想知道一样(谈论横幅不是非页内广告)
我在网上找到的大多数例子都加载了adView.loadAd(new AdRequest())
中的请求(onCreate
)。
但可以是onStart
:
public void onStart() {
super.onStart();
if(adView != null) {
adView.loadAd(new AdRequest());
}
根据:AdMob ad in onCreate OK, but disappears if you return to activity, why?
在活动生命周期中,OnStart
在onCreate
之后被调用
https://developer.android.com/guide/components/activities/activity-lifecycle.html
所以...我的声音也很好
以上是关于Android和AdMob:何时调用AdView.loadAd的主要内容,如果未能解决你的问题,请参考以下文章
com.google.android.gms.ads.AdView 无法实例化
AdView - AndroidManifest.xml 中缺少带有 android:configChanges 的 adActivity