Flutter使用google_mobile_ads替换正式广告ID后广告不显示
AdMob广告无法展示问题排查方案
- 基础配置核对
首先确认应用级配置是否正确:安卓端AndroidManifest.xml中com.google.android.gms.ads.APPLICATION_ID对应的meta-data值是否为AdMob后台获取的应用ID(注意不是广告单元ID);iOS端Info.plist中GADApplicationIdentifier配置是否匹配。另外release包的签名信息需要和AdMob后台登记的应用签名保持一致,测试时请使用无代理的境外网络,避免网络访问受限。 - 错误日志定位
你当前代码的加载失败回调仅做了重试计数,没有输出错误详情,先补充错误打印:在onAdFailedToLoad回调中加入print(error.toString()),根据返回的错误码定位问题:- 错误码3:代表
NO_FILL,属于正常情况,当前无可用广告填充 - 错误码1/2:代表配置错误或网络请求失败,需回头核对配置和网络
- 错误码3:代表
- 未发布应用填充限制
AdMob对未上架应用商店的应用广告填充优先级极低,即使广告单元创建超过2天,也大概率出现无填充的情况。你可以先将自己的测试设备加入AdMob的测试设备列表,在AdRequest中传入测试设备ID获取测试广告验证流程是否通顺,等应用正式上架应用商店后,一般几小时到1天内正式广告填充就会恢复正常。 - 代码逻辑修正
你现有代码存在两处逻辑疏漏,会影响广告加载展示:loadRewardedAd的onAdFailedToLoad回调中,错误地将interStitialAd置空,此处应该将rewardedAd置空,避免后续调用到过期的广告实例- 现有重试逻辑为加载失败立即重试,短时间多次请求会触发AdMob的限流机制,建议每次重试前增加30秒以上的延迟,避免被临时限制请求
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

