【问题标题】:Interstitial Ad not loading插页式广告未加载
【发布时间】:2018-08-24 17:16:56
【问题描述】:

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

这是我尝试过的。

    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 消息以检查它是否已加载,并且广告已加载但未打开。

PS:值得注意的是,我在 logcat 中收到此错误,但一切运行正常 E/RecyclerView: No adapter attached; skipping layout 我尝试了这些解决方案 solution 1solution 2 但老实说我不这么认为会导致任何问题(或者会吗?)

【问题讨论】:

  • 如果您最近刚刚制作了广告,您可能需要稍等片刻,这可能不是您的错,可能 Google 的服务器仍在初始化所有内容。
  • @grant 实际上我正在使用测试广告,所以应该不是问题吧?但是它在另一个活动中正确加载。
  • 测试广告是通过您设备的 id 加载的,而不是 admob id,所以这可能是一个可以通过等待解决的问题。所以你是说 admob 广告 id 在另一个活动中正确加载?
  • 是的,它可以完美加载。我在同一活动中使用了横幅广告。显然,即使加载。真的已经坐了很长时间了。

标签: android admob ads interstitial


【解决方案1】:

这个问题有很多原因,但是请确保使用最新版本的库版本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);
}

【讨论】:

  • 要提醒您我正在使用最新版本,显然它适用于具有相同代码的不同活动?也尝试像你说的那样实现 adListener 但它不起作用。
【解决方案2】:

在将我的 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正在填充布局,尽管它是空的。我相信这可能是问题所在。希望它对将来的人有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多