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

React Native中使用react-native-google-mobile-ads无法加载测试Banner广告

React Native Banner广告显示灰色框(无广告填充)问题解决

错误信息翻译

[错误:[googleMobileAds/错误码-无广告填充] 广告请求成功,但因广告库存不足未返回广告。]

解决步骤

  • 完成Google Mobile Ads初始化:必须在App启动时调用MobileAds.initialize(),未初始化会导致广告服务无法正常工作:
    import { MobileAds } from 'react-native-google-mobile-ads';
    
    // 在App入口组件的useEffect或初始化逻辑中执行
    MobileAds.initialize();
    
  • 确认测试广告ID有效性:TestIds.BANNER的官方测试ID为ca-app-pub-3940256099942544/6300978111,打印TestIds.BANNER确认代码中引用的是正确值,避免导入错误导致无效ID。
  • 适配自适应横幅的父容器宽度:ANCHORED_ADAPTIVE_BANNER需要父容器提供明确的宽度,调整SafeAreaView样式:
    <SafeAreaView style={{ flex: 1, width: '100%' }}>
      {/* 页面内容 */}
    </SafeAreaView>
    
  • 排查网络与地区限制:部分地区网络无法访问Google广告服务,导致测试广告加载失败,尝试切换稳定网络或调整设备地区设置。
  • 添加无填充降级逻辑:在onAdFailedToLoad中针对no-fill错误显示自定义占位UI,替代默认灰色框:
    onAdFailedToLoad={e => {
      console.log('广告加载失败:', e);
      if (e.code === 'googleMobileAds/error-code-no-fill') {
        // 渲染自定义占位组件,比如空白块或提示文字
      }
    }}
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 13:15:23