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?

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

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

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

以上是关于Android和AdMob:何时调用AdView.loadAd的主要内容,如果未能解决你的问题,请参考以下文章

集成Admob后,我的Libgdx游戏速度变慢

com.google.android.gms.ads.AdView 无法实例化

AdView - AndroidManifest.xml 中缺少带有 android:configChanges 的 adActivity

在 Eclipse 中膨胀类 com.google.android.gms.ads.Adview 错误

无法显示 AdMob 横幅

如何使用包含 MapView 的包装 TabHost,该 MapView 在其下方显示 AdMob 视图?