[英]Interstitial Ads are not showing using AdMob
我正在嘗試向我的程序中添加插頁式廣告。
我創建了以下AdsManager
。
public class AdsManager {
private Context context;
private InterstitialAd mInterstitialAd;
public AdsManager (Context context) {
this.context = context;
MobileAds.initialize(context, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(@NonNull InitializationStatus initializationStatus) {
}
});
}
public void createAds (AdView adView) {
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
public InterstitialAd loadInterstatialAd () {
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitialAd.load(context, "ca-app-pub-3940256099942544/1033173712",
adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
super.onAdFailedToLoad(loadAdError);
Log.d("InterstitsionalAds", "Error: " + loadAdError);
}
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
super.onAdLoaded(interstitialAd);
mInterstitialAd = interstitialAd;
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdClicked() {
super.onAdClicked();
}
@Override
public void onAdDismissedFullScreenContent() {
super.onAdDismissedFullScreenContent();
}
@Override
public void onAdFailedToShowFullScreenContent(@NonNull AdError adError) {
super.onAdFailedToShowFullScreenContent(adError);
Log.d("InterstitsionalAds", "Error: " + adError);
}
@Override
public void onAdImpression() {
super.onAdImpression();
}
@Override
public void onAdShowedFullScreenContent() {
super.onAdShowedFullScreenContent();
mInterstitialAd = null;
}
});
}
});
return mInterstitialAd;
}
}
這就是我在活動中的稱呼:
adsManager = new AdsManager(this);
mInterstitialAd = adsManager.loadInterstatialAd();
if (mInterstitialAd != null) {
mInterstitialAd.show(ColoringActivity.this);
}
但在那之后什么也沒有發生。 不顯示廣告。 調試器說mInterstitialAd
是 null。我試圖在活動本身中調用它,沒有 AdsManager class,但它仍然不起作用。 我還使用了谷歌 在這里推薦的測試廣告 ID ( ca-app-pub-3940256099942544/1033173712
)
我的清單:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-8673003336752212~XXXXXXXXXX"/>
我還在我的 Build.Gradle(模塊)中添加了依賴項:
implementation 'com.google.android.gms:play-services-ads:21.3.0'
我還想補充一點,我的橫幅廣告效果很好。 我不明白問題出在哪里。
在您嘗試展示廣告時,該廣告似乎並未加載。
adsManager = new AdsManager(this);
mInterstitialAd = adsManager.loadInterstatialAd(); // here you starting loading the ad
if (mInterstitialAd != null) { // and right after you want to show the ad
mInterstitialAd.show(ColoringActivity.this);
}
我建議(以及根據谷歌文檔)在活動生命周期開始時調用 load 方法,並在活動中發生某些事件時調用 show 方法(用戶通過關卡、單擊按鈕等)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.