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

添加短信权限后Flutter应用更新遭Google Play拒绝,求解决方案

解决Flutter OTP应用被Google Play拒绝的问题

问题根源

你添加的READ_SMS和RECEIVE_SMS属于Android敏感权限,Google Play政策严格限制这类权限的使用场景——只有专门的短信管理类应用才允许申请。普通OTP验证完全不需要读取或接收所有短信的权限,因此你的更新包因权限滥用被拒绝。

合规解决方案

1. 移除敏感权限

直接删除AndroidManifest.xml中的以下两行代码:

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />

2. 使用Google推荐的SMS Retriever API

这是无需敏感权限的OTP自动读取方案,也是Google认可的合规方式:

  • 集成依赖:在Android项目的app/build.gradle中添加依赖:
    implementation "com.google.android.gms:play-services-auth-api-phone:18.0.1"
    
  • Flutter端实现:使用对应的插件(如sms_retriever)或Firebase Auth的OTP功能,调用API监听符合格式的短信。
  • 短信格式要求:发送的OTP短信末尾必须添加你的应用签名哈希,格式示例:

    你的验证码是:123456

    FA+9qCX9VSu

3. 保留手动输入选项

作为自动读取的 fallback,务必保留手动输入OTP的功能,确保用户在特殊情况下仍能完成认证。

4. 重新提交应用

更新包移除敏感权限后,提交到Play Console,并在权限声明中明确说明OTP验证的使用场景,确保符合Google的权限政策要求。

内容的提问来源于stack exchange,提问作者Mihir Yadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:59:55