Flutter集成Facebook Mediation+Admob仅iOS端未收到竞价请求如何解决
问题原因及解决方案
1. 适配依赖缺失(对应com.google.DummyAdapter报错)
com.google.DummyAdapter报错的本质是AdMob SDK在iOS端未找到Facebook Audience Network的mediation适配器,只能调用占位的dummy适配器。
- 确认
pubspec.yaml中已同时引入google_mobile_ads和Facebook Mediation对应的Flutter依赖 - 进入项目
ios目录,依次执行以下命令重建Pod依赖:
pod deintegrate pod install --repo-update
- 若执行后仍未自动引入适配器,可手动在
ios/Podfile的主Target下添加:
pod 'GoogleMobileAdsMediationFacebook'
重新执行pod install生效。
2. iOS端权限与配置缺失(对应「未收到竞价请求」报错)
iOS 14+系统对广告追踪有强制要求,缺少对应配置会导致Facebook无法接收广告请求:
- 检查
Info.plist中已添加以下配置:- SKAdNetwork列表中已包含Facebook官方要求的对应ID
- 已添加
NSUserTrackingUsageDescription权限说明,且应用启动时主动请求用户追踪授权 - 已配置Facebook后台分配的AppID、ClientToken等核心参数
- 确认Xcode中已关闭Bitcode编译选项:Facebook广告适配器不支持Bitcode,开启状态下会被编译裁剪导致功能失效。
3. 后台配置遗漏
- 确认AdMob Mediation Group已勾选iOS平台,且绑定的Facebook广告位ID为iOS端专属,没有混用Android端的ID
- 确认Facebook后台的iOS应用已完成上架/测试状态审核,未处于限制投放状态
- 测试时需将当前iOS测试设备的IDFA同时添加到AdMob和Facebook的测试设备名单中,未添加测试ID的情况下生产广告不会返回给模拟器/测试设备。
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

