Android& AdMob:何时调用AdView.loadAd

时间:2012-08-16 15:59:37

标签: android admob oncreate onresume

何时是从AdMob加载新广告的“最佳时刻”?

我正在编制一个在主屏幕上有一个admob横幅的购物清单应用程序。

首先我打电话给

 m_AdView.loadAd(new AdRequest());

在onCreate()方法中。但所以我总是展示同样的广告。

现在我想将调用放入onResume()。但是,是否有机会造成过多的网络流量?

3 个答案:

答案 0 :(得分:0)

加载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);
 ...

答案 1 :(得分:0)

官方文档告诉将loadAd()放入onCreate(),因为您还必须在清单中注册AdActivity:

<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode"/>

我想它会坚持主活动的生命周期,因此正确处理onPause()和onResume()。

修改

根据admob sample,您必须将生命周期调用委托给AdView实例。

答案 2 :(得分:0)

想知道同样的事情(谈论横幅不是非插页式)

我在网上找到的大多数例子 在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

所以...我的声音也很好的地方