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

Android 13应用无AD_ID权限致广告ID重置问题求助

解决Play控制台AD_ID权限提示问题(React Native + react-native-google-mobile-ads ^11.2.0)

问题场景

  • React Native安卓应用使用react-native-google-mobile-ads@^11.2.0
  • 已在Play控制台应用内容板块完成AD_ID相关配置(勾选广告及分析选项),线上旧版本广告运行正常
  • 新版本仅新增几处Banner广告,发布时收到Play控制台提示:

Apps targeting Android 13 (API 33) without AD_ID permission will have their advertising ID reset

  • 编译正式版后,在android\app\build\intermediates\bundle_manifest\release\AndroidManifest.xml中确认存在<uses-permission android:name="com.google.android.gms.permission.AD_ID" />权限配置

可行解决方案

1. 显式声明AD_ID权限

虽然编译后的manifest中已存在该权限,但Play控制台可能无法识别依赖自动注入的间接声明。直接在android/app/src/main/AndroidManifest.xml中显式添加权限:

<uses-permission android:name="com.google.android.gms.permission.AD_ID" />

同时确认项目的targetSdkVersion已设置为33或更高(对应Android 13),这是触发该提示的前提条件。

2. 强制保留权限避免被合并规则移除

部分依赖的manifest合并规则可能会自动移除AD_ID权限,可在android/app/build.gradle中添加配置强制保留:

android {
    // 其他现有配置
    manifestPlaceholders = [
        "googleMobileAdsAdIdPermissionEnabled": "true"
    ]
}

react-native-google-mobile-ads包原生支持该占位符,显式设为true可确保权限不会被合并过程移除。

3. 清理缓存后重新编译

  • 执行命令清理编译缓存:./gradlew clean
  • 重新构建正式版安装包
  • 再次验证编译后的manifest文件中权限是否存在
  • 重新提交新版本至Play控制台

内容的提问来源于stack exchange,提问作者Kıvanç ARSLAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:32:07