React Native应用上架Google Play的SMS权限配置问题求助
解决React Native应用Google Play SMS权限审核被拒问题
核心问题分析
你当前的误区在于:选择了「Default SMS handler」选项,但react-native-otp-verify依赖的是Google SMS Retriever API,不需要成为默认短信应用,也不需要READ_SMS/RECEIVE_SMS这类敏感权限。错误的权限配置声明会触发Play Store的严格审核。
步骤1:修正AndroidManifest权限配置
虽然你注释了权限,但react-native-otp-verify可能通过Manifest合并自动引入了这些敏感权限,必须显式移除:
<!-- 需在Manifest根标签添加 xmlns:tools="http://schemas.android.com/tools" --> <uses-permission android:name="android.permission.READ_SMS" tools:node="remove" /> <uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" /> <!-- 保留应用基础权限 --> <uses-permission android:name="android.permission.INTERNET" />
步骤2:Play Console权限配置调整
- 进入Play Console后台,打开目标应用 → App content → 找到SMS and Call Log permissions模块
- 选择「Does not access SMS or call log data」(SMS Retriever API无需直接读取短信内容,仅监听包含应用哈希的特定OTP短信)
- 在权限声明详情中填写清晰说明:
- 应用仅使用Google SMS Retriever API实现OTP自动填充,用于用户登录/身份验证场景
- 不会读取、存储或访问用户的其他短信内容,也不会访问通话日志
- 该功能仅为提升用户体验,无权限滥用行为
步骤3:审核申诉补充(若仍被拒)
如果审核再次驳回,在申诉中附加:
- 应用登录/OTP验证流程的截图,展示自动填充的实际场景
- 说明react-native-otp-verify的实现逻辑:通过获取应用哈希,让短信服务商发送包含该哈希的OTP短信,API仅监听此类特定短信并提取OTP,不涉及敏感权限滥用
内容的提问来源于stack exchange,提问作者Sushanth
相关产品推荐
相关产品推荐

