mAdView.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
println(TAG+" banner onAdClosed");
super.onAdClosed();
}
@Override
public void onAdFailedToLoad(int i) {
println(TAG+" banner onAdFailedToLoad");
super.onAdFailedToLoad(i);
mAdView.loadAd(mAdRequest);
}
@Override
public void onAdLeftApplication() {
println(TAG+" banner onAdLeftApplication");
super.onAdLeftApplication();
}
@Override
public void onAdOpened() {
println(TAG+" banner onAdOpened");
super.onAdOpened();
}
@Override
public void onAdLoaded() {
println(TAG+" banner onAdLoaded");
super.onAdLoaded();
}
});
当我使用ADMOB的test_id时。广告加载非常好(2-3秒广告将成功显示(
但是,当我使用自己的Admob ID时。我从logcat那里得到了:
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdFailedToLoad
.........................
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdFailedToLoad
I/System.out: MainActivity banner onAdLoaded
并且未确定AD何时加载。这是我第一次使用Admob。
有时我也会得到错误:
W/WebKit: A Parser-blocking, cross site (i.e. different eTLD+1) script,
W/Ads: JS: A Parser-blocking, cross site (i.e. different eTLD+1) script,
I/chromium: [INFO:CONSOLE(2)] "A Parser-blocking, cross site (i.e. different eTLD+1) script,
我从" onadfailedtoload"中捕获了错误代码,
错误代码是error_code_no_fill,这意味着"广告请求成功,但由于缺乏广告库存而没有返回AD。"
根据https://firebase.google.com/docs/admob/android/ad-events
我的adrequest:
mAdRequest = new AdRequest.Builder().
build();
检查您的adsize
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>