gpt4 book ai didi

android - Admob Interstitial 广告(全屏)不会显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:12 25 4
gpt4 key购买 nike

我想在我的 Android 应用程序中显示全屏横幅。

onCreate 中我调用这个函数:

@Override 
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

showInterstitial();
}

我的功能:

private void showInterstitial() {

interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(getString(R.string.ad_banner_id));
interstitialAd.show();

Toast.makeText(this, "Ad will load", Toast.LENGTH_SHORT).show();
}

我的应用程序将崩溃并显示此消息:

Caused by: java.lang.IllegalStateException: The ad unit ID must be set on InterstitialAd before show is called.

但是我在展示之前设置了广告 ID,还是没有?

最佳答案

您没有为插页式广告调用 loadAd()。插页式广告应先加载,然后才能展示。

interstitialAd.loadAd(adRequest);

您还应该在调用 show() 之前检查它是否已加载。它可能不会立即可用,您可能希望在调用 show 之前提前加载它。

if(mInterstitial.isLoaded()){
mInterstitial.show();
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitial.loadAd(adRequest); //optionally load again if you plan to show another one
}

可能的实现(根据您的要求进行更改)

所以基本上下面的内容可以进入onCreate()

    interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(getString(R.string.ad_banner_id));
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
Toast.makeText(this, "Ad will load", Toast.LENGTH_SHORT).show();

showInterstitial()变成了这个

private void showInterstitial() {
if(mInterstitial.isLoaded()){
mInterstitial.show();
//optionally load again if you plan to show another one later
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitial.loadAd(adRequest);
}
}

注意:当您想要显示插页式广告时调用showInterstitial()。但是,不是在调用 loadAd() 之后立即执行的。加载插播广告需要一些时间,如果网络延迟或广告内容比平时多,您可能会错过几分之一秒。

此外,这里是实现 Admob Intersitials 的文档正确的方法。

关于android - Admob Interstitial 广告(全屏)不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34431136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com