You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Admob插屏广告实现问题:已完成账户及广告单元配置但广告无法显示

解决AdMob插屏广告无法显示的问题

嘿,我一眼就瞅出问题所在了——你在调用loadAd()之后立刻就执行show(),但AdMob的插屏广告加载是异步操作,它不会瞬间完成,这时候广告还没准备好,自然没法显示出来。

核心问题分析

loadAd()方法是在后台线程完成广告请求和加载的,你必须等广告加载成功的回调触发后,再调用show()才有效。直接同步调用show()相当于在广告还没准备好的时候就强行展示,肯定会失败。

修正后的代码示例

给你的代码加上广告加载状态监听,只有加载成功后再展示:

private InterstitialAd interstitialAd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    interstitialAd = new InterstitialAd(this);
    interstitialAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxxxx"); // 替换成你的真实广告单元ID

    // 设置广告监听器,监听加载状态
    interstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            // 广告加载完成,确认状态后展示
            if (interstitialAd.isLoaded()) {
                interstitialAd.show();
            }
        }

        @Override
        public void onAdFailedToLoad(int errorCode) {
            // 加载失败时打印错误码,方便排查问题
            Log.d("AdMobDebug", "插屏广告加载失败,错误码:" + errorCode);
            // 这里可以根据错误码做重试逻辑,比如网络错误时重新加载
        }
    });

    // 发起广告加载请求
    AdRequest adRequest = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            // 如果是真机测试,记得加上真机的测试设备ID,避免产生无效流量
            // .addTestDevice("你的真机测试设备ID")
            .build();
    interstitialAd.loadAd(adRequest);
}

额外检查项

除了代码问题,还有几个地方要确认:

  • 确保build.gradle(Module级)里的AdMob依赖是最新版本:
    implementation 'com.google.android.gms:play-services-ads:22.6.0'
    
  • 检查AdMob后台的广告单元是否已经激活,账户是否通过审核(新账户可能需要等待审核)
  • 确认AndroidManifest.xml里配置了正确的应用ID:
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- 替换成你的应用ID -->
    
  • 测试时务必使用测试设备或测试广告单元,避免触发AdMob的政策限制

内容的提问来源于stack exchange,提问作者a.i.a softwaredivision

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:41:07