React Native Android应用因Google Play敏感权限政策被拒如何通过审核
解决方案
方案一:优先移除不必要的敏感权限(过审成功率最高)
你声明的READ_PHONE_STATE、READ_PHONE_NUMBERS、RECEIVE_SMS都属于Google Play规定的高敏感权限,非核心功能必须的情况下直接移除是最快的过审方式:
- 权限替代方案:
- 若你用
READ_PHONE_STATE获取设备唯一标识:可改用不需要权限的ANDROID_ID实现,React Native侧可通过react-native-device-info库的getAndroidId()方法直接获取,无需申请权限。 - 若你用
READ_PHONE_NUMBERS实现手机号填充/登录:对接运营商官方一键登录SDK即可,无需申请该权限。 - 若你用
RECEIVE_SMS实现验证码自动填充:改用Google官方推出的SMS Retriever API实现,无需申请短信相关敏感权限,React Native社区已有对应封装库可直接调用。
- 若你用
- 额外排查:除了你自己声明的权限外,要检查引入的第三方RN库是否隐式带入了这三个权限,若有可在AndroidManifest.xml中添加如下配置强制移除:
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" /> <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" tools:node="remove" /> <uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />
方案二:若核心功能必须使用敏感权限,按要求提交权限声明
如果你的App核心功能确实离不开这三个权限(比如你的App就是默认短信管理应用),则需要按Google Play要求完成权限声明流程:
- 登录Google Play Console,进入「应用内容」-「敏感权限和API」板块,为每个敏感权限准确填写使用场景,明确说明权限用于什么核心功能、对用户的价值是什么。
- 上传权限使用的完整演示视频:内容要包含用户打开对应功能、App弹出权限用途说明、弹出系统权限申请弹窗、用户授权后功能正常使用的全流程,不能裁剪跳步。
- App内要做权限申请引导:必须先给用户展示权限申请的用途说明,再弹出系统权限申请框,不能冷启动后直接申请权限。
- 提交新版本时,在审核备注栏明确说明你针对之前驳回原因做的对应调整,方便审核人员快速核验。
内容的提问来源于stack exchange,提问作者Lahiru Amarathunge
相关产品推荐
相关产品推荐

