我刚刚安装了OneSignal软件包并按照docs中的描述进行了设置。但是,OneSignal 总是具有/从用户那里获得许可,尽管没有弹出的应用程序要求用户许可。也许那是Android正常工作的方式,但是我已经习惯了弹出窗口询问权限(我是iOS用户)。
Android是否不要求用户提供推送通知权限?那是平常的吗?甚至符合GDPR法规吗?
还是我只需要AndroidManifest.xml
来照顾许可权?
在测试设备Android上安装.apk
的原因不是,尽管在AndroidManifest.xml
中我要求推送通知许可和位置许可!
这是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>
.....
答案 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中,权限系统受到更严格的控制,在执行大多数操作之前,您必须先请求权限。