React Native:不要求Android上的推送许可(OneSignal)

时间:2019-01-12 16:25:49

标签: android react-native android-permissions user-permissions

我刚刚安装了OneSignal软件包并按照docs中的描述进行了设置。但是,OneSignal 总是具有/从用户那里获得许可,尽管没有弹出的应用程序要求用户许可。也许那是Android正常工作的方式,但是我已经习惯了弹出窗口询问权限(我是iOS用户)。

Android是否不要求用户提供推送通知权限?那是平常的吗?甚至符合GDPR法规吗?

还是我只需要AndroidManifest.xml来照顾许可权?

在测试设备Android上安装.apk的原因不是,尽管在​​AndroidManifest.xml中我要求推送通知许可和位置许可!

这是安装屏幕: enter image description here

这是AndroidManifest.xml的OneSignal代码:

<!-- Optional - Add the necessary permissions (Choose one of those) -->

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <!-- Approximate location - If you want to use promptLocation for letting OneSignal know the user location. -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!--  Precise location If you want to use promptLocation for letting OneSignal know the user location. -->

<!-- End optional permissions -->


<application ....>
  <activity
    android:name=".MainActivity"
    android:label="OneSignal Example"
    android:launchMode="singleTop"> <!-- Add this attribute to your main activity -->
  </activity>
    .....

1 个答案:

答案 0 :(得分:0)

在Android中,您只需要询问被归为危险的权限。

https://developer.android.com/guide/topics/permissions/overview

  

只有危险的权限需要用户同意。 Android的方式   要求用户授予危险权限取决于版本   在用户设备上运行的Android,并且定位了系统版本   通过您的应用。

您可以在此处找到一个表格,其中列出了当前归类为危险的权限。

https://developer.android.com/guide/topics/permissions/overview#permission-groups

此列表中显然没有“推送通知”,因此您无需征求用户的许可就可以向他们发送推送通知。

关于其他任何权限,如果OneSignal想要访问它们,并且将它们归类为危险(例如位置),则他们获得此权限的唯一方法是显示一个对话框,请求访问该信息的权限。否则,他们将无法访问该信息。

在iOS中,权限系统受到更严格的控制,在执行大多数操作之前,您必须先请求权限。