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

Android应用Ad Banner广告无法正常显示问题排查求助

广告无法加载故障修复方案

核心问题定位

从报错日志可以直接看到首个阻塞问题是Google服务初始化失败,缺失google_app_id配置,导致AdMob依赖的基础组件无法正常运行,广告加载流程被中断。

修复步骤

1. 补全Google Service配置

新版AdMob SDK依赖Google服务框架的基础配置,你缺失的google_app_id不需要手动写string资源,按以下步骤配置即可:

  • 在项目根目录的build.gradle中引入Google服务插件依赖,版本适配你当前的Gradle版本即可:
    dependencies {
        classpath 'com.google.gms:google-services:4.3.15'
        // 其余原有依赖保持不变
    }
    
  • 在app模块的build.gradle文件末尾追加一行,开启Google服务插件:
    apply plugin: 'com.google.gms.google-services'
    
  • 从AdMob后台对应应用的管理页下载google-services.json配置文件,放到app模块的根目录下,编译时会自动生成所需的google_app_id等资源。

2. 校验AdMob配置有效性

  • 检查Manifest中配置的com.google.android.gms.ads.APPLICATION_ID值,确认已替换为AdMob后台给你的真实应用ID,当前的占位符ca-app-pub-YYYY~YYYY无法用于真实加载。
  • 调试阶段建议先用官方测试ID验证流程,避免因账号审核、流量异常等问题干扰排查:
    • 测试应用ID:ca-app-pub-3940256099942544~3347511713
    • 测试Banner广告位ID:ca-app-pub-3940256099942544/6300978111

3. 优化广告加载逻辑

你当前代码在触发MobileAds初始化后立刻加载广告,可能因初始化未完成导致加载失败,调整逻辑为初始化完成后再执行加载:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getSupportActionBar().hide();
    setContentView(R.layout.activity_main);

    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
            mAdView = findViewById(R.id.adView);
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);
        }
    });
}

4. 额外排查项

  • 确认测试设备已安装最新版Google Play服务,版本过低会触发日志中GmsClient unable to connect to service报错。
  • 确认测试设备网络可正常访问Google服务,国内网络未科学上网也会导致广告加载失败。

内容的提问来源于stack exchange,提问作者aru30stm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:09:02