谷歌应用商店因短信权限而拒绝我的应用程序

17
我从清单中删除了SMS权限,但Play商店不接受我的应用。清单仅设置为读取SMS权限,但Play商店拒绝了此应用。我从Play商店收到这封邮件。 声明的默认短信处理程序功能(以及任何其他核心功能在默认处理程序情况下使用)被确定为不必要或与您的应用程序的核心功能不一致。根据短信/通话日志策略,只有具有特定核心功能的应用程序才有资格请求SMS /通话日志权限。有关符合条件的核心功能列表,请参阅此帮助中心文章。您可以通过从应用程序中删除权限或修改应用程序,使其核心功能(通过应用内体验和Store列表中的元数据)与符合条件的案例相一致来符合规定。您的申报表上列出了默认处理程序功能,但您的应用程序没有默认处理程序功能。 权限:清单
<uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.READ_SMS" />

请帮助我解决这个问题


这是谷歌的新政策 https://github.com/opendatakit/collect/issues/2738 在这里看一下,可能会有所帮助。 - Akash Pal
如果您的应用程序不需要它来实现核心功能,那么您就不能使用它。 - Akash Pal
我们已经在核心功能中读取了用于OTP的短信。 - Ganeshp
1
https://dev59.com/ylQJ5IYBdhLWcg3wERqZ#54666518?noredirect=1#comment96198733_54666518 - Rumit Patel
2
我投票关闭此问题,因为它涉及Google Play Store的政策和程序,而不是编程。 请参考:关于应用商店的开发人员中心问题是否属于主题?为什么我不能问客户服务相关的问题?,以及有关此网站适当主题的帮助中心页面 - Mike M.
显示剩余2条评论
5个回答

16
根据谷歌的规定:“您只能请求实施应用程序中关键当前功能或服务所必需的权限。您不得使用授权访问用户或设备数据的权限来实现未公开、未实施或被禁止的功能或目的。” 点击此处查看谷歌官方权限文档 如果您的应用程序需要读取短信进行基于短信的用户验证/ OTP验证,请使用SMS Retriever API,它不需要任何短信权限,您的应用程序仍然可以读取用于OTP验证的短信。

希望这对你有所帮助,请确认我的答案是否正确。 - Mayank Sharma
你使用任何第三方库吗?在您的情况下,您可能需要为使用的任何库获取SMS权限。 - Mayank Sharma
我正在使用cordova插件compat。这会引起问题吗?在config文件和package.json文件中都没有提到sms插件。但仍然出现错误:“找不到插件“cordova-sms-plugin”的plugin.xml文件。请尝试重新添加它。” - Sachin HR
1
@SachinHR,Play商店出了问题。首先上传APK(它会显示有关SMS权限的警告,但请忽略并继续),然后再提供一个更新版本,这次你会惊喜地发现没有警告了,这似乎是Play商店的一个漏洞。试一下,让我知道是否有效。 - Mayank Sharma
谢谢您的回复:)实际上,我通过删除一个名为cordova-plugin-tts(语音转文本)的插件来解决了这个问题。这个插件会向清单文件中添加短信和电话权限。现在,在从配置文件中删除tts插件后,我可以上传到Play商店了。 - Sachin HR
显示剩余4条评论

6

我也遇到了这个问题,我在manifest文件中删除了短信权限,在整整一天的尝试后,仍然被拒绝。所以我删除了代码的所有部分,只发布了启动界面和登陆页面,这样我的应用程序就成功发布了。我在下一个版本中更新了整个项目,现在我的应用程序已经上线。


2
你是只发布了启动画面的应用,然后推送了一个带有短信权限等更新。但是这个更新版本被拒绝了? - man0s
我的版本已经在Playstore上了,但当我在最新版本中添加了短信功能时,被审核团队卡住了。 - Gk Mohammad Emon

2

谷歌宣布了新的政策,关于在您的 Android 应用中使用敏感权限。现在,很多应用程序相关的电话短信读取权限被使用的应用正在从 Play 商店中移除。有一种可选的方法可以使用这个答案


2

前往您的Google Play控制台。然后进入“商店出现”最后到“应用程序内容”。 在核心功能下取消选中“默认SMS处理程序”


2

谷歌Play有了新的政策,针对敏感权限,如电话短信。如果您的应用程序的核心功能不是短信,则不需要请求该权限。您可以使用设备上的默认短信应用程序发送短信。像下面展示的代码一样使用Intent.ACTION_VIEW。然后从您的清单文件中删除这些权限。

    String intro="[INTRO MESSAGE]\n";
    String phoneNumber="12345678"
    Uri sms_uri = Uri.parse("smsto:" +phoneNumber);
    Intent sms_intent = new Intent(Intent.ACTION_VIEW, sms_uri);
    sms_intent.setData(sms_uri);
    sms_intent.putExtra("sms_body", intro);
    startActivity(sms_intent);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接