Android和AdMob:何时调用AdView.loadAd

问题描述 投票:2回答:3

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

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

首先我打电话给

 m_AdView.loadAd(new AdRequest());

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

现在我想将调用放入onResume()。但是,是否有可能导致过多的网络流量?

android admob oncreate onresume
3个回答
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);
 ...

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实例。


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?

在活动生命周期中,OnStartonCreate之后被调用

https://developer.android.com/guide/components/activities/activity-lifecycle.html

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

© www.soinside.com 2019 - 2024. All rights reserved.