【问题标题】:Interstitial Ads don't showing插页式广告不显示
【发布时间】:2022-11-25 11:16:55
【问题描述】:

伙计们,我正在尝试添加插页式广告。

我创建类 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 为空。 我试图在没有 AdsManager 类的情况下在活动本身中调用它,但它仍然不起作用。 我还使用谷歌推荐的测试广告 ID here (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'

我还想补充一点,我的横幅广告效果很好。我不明白问题出在哪里。

【问题讨论】:

    标签: java admob ads interstitial


    【解决方案1】:

    在您尝试展示广告时,该广告似乎并未加载。

    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 方法(用户通过关卡、单击按钮等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多