React Native中使用react-native-google-mobile-ads无法加载测试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
相关产品推荐
相关产品推荐

