簡體   English   中英

使用 AdMob 未顯示插頁式廣告

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM