来自 Google Play for My React Native 应用程序的呼叫/短信许可最终警告电子邮件

Posted

技术标签:

【中文标题】来自 Google Play for My React Native 应用程序的呼叫/短信许可最终警告电子邮件【英文标题】:Call/SMS permission final warning email from Google Play for My React Native app 【发布时间】:2019-05-30 18:06:38 【问题描述】:

我的应用程序是在 React Native 中开发并在 Playstore 上发布的。

所以第一次显示 RECEIVE_SMS 警告时

我已删除与此权限相关的插件,并相应地更改了我的工作流程。并再次将更新后的 apk 上传到 playstore。

我仍然收到来自 Google play 的最终警告邮件,其中包含以下消息:

2018 年 10 月,我们宣布更新我们的权限政策, 将限制允许哪些应用请求通话记录和短信 权限。这是第三次也是最后一次提醒,让您知道 此政策可能会影响您的一个或多个应用。

从 2019 年 1 月 9 日开始,只有一个被选为 用户拨打电话或短信的默认应用程序,或者其核心 功能被批准用于异常用例之一,将 能够访问通话记录或短信权限。

我已经找到了整个项目,我没有在任何插件中获得 RECEIVE_SMS 权限。

这是我的清单代码:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission
        android:name="$applicationId.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
<uses-permission android:name="$applicationId.permission.C2D_MESSAGE" />

这是我用过的插件:

  "dependencies": 
    "lodash": "^4.17.10",
    "moment": "^2.22.2",
    "moment-duration-format": "^2.2.2",
    "prop-types": "^15.6.2",
    "react": "16.4.1",
    "react-native": "0.56.0",
    "react-native-actionsheet": "^2.4.2",
    "react-native-autocomplete-input": "^3.6.0",
    "react-native-background-timer": "^2.0.1",
    "react-native-check-box": "^2.1.0",
    "react-native-confirmation-code-input": "^1.0.4",
    "react-native-datepicker": "^1.7.2",
    "react-native-device-info": "^0.24.3",
    "react-native-dropdownalert": "^3.5.0",
    "react-native-fabric": "github:corymsmith/react-native-fabric#523a4edab3b2bf55ea9eeea2cf0dde82c5c29dd4",
    "react-native-firebase": "^4.3.8",
    "react-native-google-sign-in": "^1.0.16",
    "react-native-keyboard-aware-scroll-view": "^0.7.0",
    "react-native-material-dialog": "^0.7.4",
    "react-native-message-bar": "^2.0.10",
    "react-native-modal": "^6.5.0",
    "react-native-pages": "^0.7.0",
    "react-native-progress": "^3.5.0",
    "react-native-simple-radio-button": "^2.7.2",
    "react-native-snackbar": "^0.5.0",
    "react-native-social-auth": "^2.0.0",
    "react-native-splash-screen": "^3.1.1",
    "react-native-stars": "^1.1.5",
    "react-native-swiper": "^1.5.13",
    "react-native-tab-view": "^1.0.2",
    "react-native-toast": "^1.0.1",
    "react-native-vector-icons": "^5.0.0",
    "react-native-web-service-handler": "^1.0.2",
    "react-navigation": "^2.11.2"
  ,

我正在使用以下过程来查找权限:

    我已尝试使用不同工具和编辑器使用所有搜索方法找到此权限 还要手动检查所有插件清单文件。 在创建发布 apk 后检查了构建文件夹中的清单。

我仍然无法找到这一点,包括在 apk 中的权限。

所以我的问题是:

    我怎样才能找到这个权限包括在我的 apk 中? 在使用搜索方法时,我可以在 node_modules/react native/Libraries/PermissionAndroid 模块中找到 RECEIVE_SMS 权限。但我没有在我的项目中使用或导入该类。那么它会产生问题吗?

如何在没有 CALL/SMS 权限的情况下构建 apk 以及任何用于 React Native 的调试方法来检查它?

【问题讨论】:

试试这篇文章。可能对你有帮助:medium.com/glucosio-project/… 看看 app/build/outputs/logs/manifest-merger-debug-report.txt 会让你知道哪个库需要 Call/SMS 权限。 @Himeshgoswami,谢谢我发现了这个问题,它可能是从哪里添加的。我会修复它并将新的 apk 上传到商店。 如果被拒,您可以上诉。 【参考方案1】:

请检查以下权限。他们正在请求短信权限。

<permission
    android:name="$applicationId.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

【讨论】:

仅供参考。此权限用于推送通知 (GCM)。如果您想对此进行测试,您可以在清单中提及此权限,如果您检查应用信息,它将永远不会显示您的应用的 SMS 权限。【参考方案2】:

出于安全原因,Play 商店现在检查 SMS 和呼叫权限,因此现在提交您的表单以批准应用以获得许可

https://docs.google.com/forms/d/e/1FAIpQLSfCnRaa4b1VuHhE4gVekWJc_V0Zt4XiTlsKsTipTlPg5ECA7Q/viewform

同时阅读这篇文章

https://android-developers.googleblog.com/2018/10/providing-safe-and-secure-experience.html

【讨论】:

在不知道上下文的情况下不要给出答案。 我已经提到了流程,我遵循了什么?而且在我的代码中没有与 CALL 和 SMS 相关的危险权限。【参考方案3】:

我们遇到了同样的问题。事实证明,我们有一个非常旧的应用程序版本在 Alpha 通道中仍然处于活动状态。删除它修复了警告。

全文:我们使用 READ_SMS 权限登录,然后看到有关新政策的博客文章,并决定将其删除,因为这种用法不合规。删除并更新了 Play 商店中的 apk。 第一个提示问题是当我们添加另一个功能并上传新 APK 并收到有关 SMS 的警告和询问我们为什么使用它的表单时。因为当时我们不是,所以我们决定回答我们不合规,因为我们没有使用 READ_SMS,因此不需要合规。 今天我们发出最后警告,我们仍在使用 READ_SMS 权限,如果此问题未修复,该应用程序将在 2019 年 3 月 9 日被删除。 经过调查,我们发现新的 APK 和发布渠道在很长一段时间内都没有问题。但是两年前我们有一个活跃的 alpha 版本,它仍在使用 READ_SMS 权限。在我们停用它后,警告立即消失了。

【讨论】:

我在从清单和 java 运行时代码中删除所有短信权限后上传新的 apk 时收到相同的消息。我认为存在 Google Play 算法问题,因为我没有使用任何短信和通话权限。 我陷入了类似的循环。我有一个具有 SMS 权限的待拒绝生产版本和一个非 SMS 版本,但由于待定版本而无法发布。我无法删除待定版本,因为当前的生产版本具有 SMS 权限并再次弹出权限表单。 Google Play 帮助中心没有回应。【参考方案4】:

尝试添加以下权限 -

<uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />

我还需要在我的应用程序的清单文件中写一行才能获得谷歌游戏商店的批准,我的应用程序现在已获得批准。

【讨论】:

以上是关于来自 Google Play for My React Native 应用程序的呼叫/短信许可最终警告电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

Maps SDK for Android v.3.0.0 BETA "是否可以在没有Google Play服务的设备上运行?

Google play 游戏服务再次显示来自 google+ 的登录屏幕

来自 Google Play 的意图重定向

未授予通话和短信权限,但仍收到来自 google play 的警告

来自 Google Play Services Fused Location Provider 的海拔高度

为啥有这么多来自 Google Play 控制台的订阅待付款?