使用ADMOB PLUS执行ionic cordova prepare ios时GADApplicationIdentifier自动变测试值咨询
问题根因
这是AdMob Plus插件的内置默认逻辑触发的覆写行为:
每次执行ionic cordova prepare ios时,Cordova会重新遍历已安装插件的配置注入规则。你提到的info-list.txt即iOS项目中的*-Info.plist配置文件,是AdMob应用ID的标准存储位置。
AdMob Plus为了避免开发阶段误请求正式广告触发Google平台的违规判定,内置了测试值兜底逻辑——如果插件在安装参数、项目配置中没有读到明确标记的生产环境AdMob应用ID,就会自动将该文件中的GADApplicationIdentifier键值覆写为官方测试用应用ID。
可落地的解决步骤
1. 优先通过Cordova标准配置注入正式ID
不要直接修改platforms/ios目录下的配置文件,该目录在prepare流程中会被全量同步,手动修改的内容会被直接覆盖。需要将生产环境的AdMob配置写入项目根目录的config.xml中,作为插件安装时的固定参数:
- 在
config.xml的iOS平台配置节点下,添加AdMob Plus的变量配置:
<platform name="ios"> <!-- 其他已有配置保持不动 --> <plugin name="admob-plus"> <variable name="APP_ID_IOS" value="你的iOS正式AdMob应用ID" /> </plugin> </platform>
- 清除旧的插件缓存和iOS平台残留配置,重新触发插件注入流程:
# 移除旧版本的AdMob Plus插件 ionic cordova plugin remove admob-plus # 清空iOS平台目录,避免旧缓存影响配置 rm -rf platforms/ios # 重新添加iOS平台、触发prepare流程 ionic cordova platform add ios
2. 兜底强制覆写配置
如果按照上述步骤配置后,仍存在配置被覆写为测试值的情况,可以通过cordova-custom-config插件在prepare流程的最后阶段强制写入正式ID,避免兜底逻辑覆盖:
- 安装辅助配置插件:
ionic cordova plugin add cordova-custom-config
- 在
config.xml的iOS平台节点下添加强制覆写规则:
<custom-config-file parent="GADApplicationIdentifier" target="*-Info.plist"> <string>你的iOS正式AdMob应用ID</string> </custom-config-file>
注意踩坑点
- 正式AdMob应用ID必须和AdMob后台提供的格式完全一致,为
ca-app-pub-xxxxxx/xxxxxx结构,缺失前后缀会被插件判定为无效配置,自动回退到测试值 - 不要将开发测试用的测试ID写入生产配置,避免上线后触发广告加载异常或平台违规判定
内容的提问来源于stack exchange,提问作者Manel M
相关产品推荐
相关产品推荐

