首页 > 解决方案 > 为什么 Admob 插页式广告不显示在 AndroidOS 上?

问题描述

我完全按照 Google 发布的方式应用广告代码,但未显示广告。

我的代码:

AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load( this, "ca-app-pub-3940256099942544/1033173712", adRequest, new InterstitialAdLoadCallback() { //test reklam id
    @Override
    public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        mInterstitialAd = interstitialAd;
        Log.i( TAG, "onAdLoaded" );
    }

    @Override
    public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.i( TAG, loadAdError.getMessage() );
        mInterstitialAd = null;
    }
});

这是我用来展示广告的按钮代码:

btnGo.setOnClickListener( new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (mInterstitialAd != null) {
            mInterstitialAd.show(MainActivity.this);
            Log.e( "ads", "must be shown" );
        }
        startActivity( new Intent( MainActivity.this, SecondActivity.class ) );
    }
});

加载广告时,我会收到有关它的加载日志,似乎没有问题。我检查广告是否为空以显示广告状态,如果它不为空,我会得到一个显示的广告,这很好。唯一的问题是广告没有展示。

可能是什么问题或我做错了什么?

标签: javaandroidadmobinterstitial

解决方案


问题解决了:

if (mInterstitialAd != null) {
    mInterstitialAd.show(MainActivity.this);
    mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
      @Override
      public void onAdDismissedFullScreenContent() {
        // Called when fullscreen content is dismissed.
    startActivity( new Intent( MainActivity.this, SecondActivity.class ) );
        Log.d("TAG", "The ad was dismissed.");
      }

      @Override
      public void onAdFailedToShowFullScreenContent(AdError adError) {
        // Called when fullscreen content failed to show.
    startActivity( new Intent( MainActivity.this, SecondActivity.class ) );
        Log.d("TAG", "The ad failed to show.");
      }

      @Override
      public void onAdShowedFullScreenContent() {
        // Called when fullscreen content is shown.
        // Make sure to set your reference to null so you don't
        // show it a second time.
        mInterstitialAd = null;
        Log.d("TAG", "The ad was shown.");
      }
    });
} else {
    startActivity( new Intent( MainActivity.this, SecondActivity.class ) );
                }

推荐阅读