插页式广告未加载

Interstitial Ad not loading

好吧,这很尴尬,但我一直在尝试加载插页式广告,但它就是加载不出来,我不明白为什么 logcat 什么也没说。我在两个活动中使用了相同的代码,显然我在这里使用的是测试器。因此,当我点击 RelativeLayout 时,它会显示广告。问题是它在一个 activity 中与测试仪完美显示,而在另一个中却没有。

这是我试过的。

    mInterstitialAd = new InterstitialAd(this);
    mInterstitialAd.setAdUnitId("ad-id");
    mInterstitialAd.loadAd(new AdRequest.Builder().build());
layoutSaved.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mInterstitialAd.isLoaded()) {
                mInterstitialAd.show();
            } else {
                Log.d(TAG, "The interstitial wasn't loaded yet.");
            }
        }
    });

尝试使用 AdListener Toast 消息以检查它是否已加载,广告已加载但无法打开。

P.S:值得注意的是,我在 logcat 中遇到了这个错误,但一切运行完美 E/RecyclerView: No adapter attached; skipping layout 我尝试了这些解决方案 and 但老实说,我认为这不会造成任何问题(或者会造成问题吗?)

造成这个问题的原因有很多但是请确保使用最新版本库版本15.0.1

同时按照以下代码设置 AdListener

interstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            interstitialAd.loadAd(adRequest);
            super.onAdClosed();
        }

        @Override
        public void onAdFailedToLoad(int i) {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    interstitialAd.loadAd(adRequest);
                }
            }, 60000);
            super.onAdFailedToLoad(i);
        }
    });

显示下面的广告使用代码

if (interstitialAd != null && interstitialAd.isLoaded()) {
    interstitialAd.show();
} else {
    assert interstitialAd != null;
    interstitialAd.loadAd(adRequest);
}

我无法相信这在将我的 RecyclerView layout_height 设置为 "wrap_content" 后有效。

这就是我在 xml 文件中所做的。

<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar">

我正在使用布局点击侦听器,这个布局包裹了 RecyclerView 和其他视图。由于它被设置为 match_parent 布局点击未被识别,因为 recyclerview 正在填充布局,尽管它是空的。我相信这可能是问题所在。希望它对以后的人有所帮助:)