升级AdMob SDK并在load()方法上失败

时间:2014-10-08 13:38:30

标签: android admob

我一直在努力更新到需要Google服务才能运行的新AdMob。 我在onCreate()

中使用此代码
AdView adView = (AdView)this.findViewById(R.id.adView);
//AdRequest
AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
adView.loadAd(adRequest);
Log.d("ADMOB", "Successfully loaded");

并在XML中使用此代码

<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center_horizontal"
ads:adSize="SMART_BANNER"
ads:adUnitId="ADMOB_ID"/>

但是,adMob广告不会显示。 try / catch块在这里失败:

adView.loadAd(adRequest);

AndroidManifest代码如下所示:

<meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

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

我错过了什么?

1 个答案:

答案 0 :(得分:1)

参考我引用的AdMob Android Guides

  

接下来,创建onActivityCreated方法。这是您构建和加载AdRequest的地方。引用AdView,然后构建并加载AdRequest。

所以,你必须像下面这样实现它:

@Override
public void onActivityCreated(Bundle bundle) 
{
  super.onActivityCreated(bundle);
  AdView mAdView = (AdView) getView().findViewById(R.id.adView);
  AdRequest adRequest = new AdRequest.Builder().build();
  mAdView.loadAd(adRequest);
}