在iOS上:
我在react-native应用程序的登录屏幕中有这小段代码。 首次启动时(在应用安装后),用户请求权限。
但是,如果我关闭该应用程序,请转到IOS⇒设置⇒MyApp⇒通知,然后将“允许通知”设置为 off ,try()⇒catch()循环的捕获将在没有征得许可的情况下执行:
const notificationPermission = await firebase.messaging().hasPermission();
if (notificationPermission !== true) {
try {
await firebase.messaging().requestPermission();
Toast.show({
text:
'Push-Notifications are now activated. You can change this at any time in App-Settings',
buttonText: 'OK',
type: 'success',
position: 'bottom',
duration: 15000,
});
} catch (error) {
// User has rejected permissions
Toast.show({
text:
'Push notifications give you a better user experience and promote your learning progress.\nYou can change this at any time in App-Settings',
buttonText: 'OK',
type: 'warning',
position: 'bottom',
duration: 15000,
});
}
}
预期结果: 如果删除了该应用程序的权限,则该请求应再次询问“通知权限”。
是否需要另一种要求。
顺便说一句: 在Android中,安装该应用后无需许可,但是您可以为每个应用禁用通知(并且通知渠道> Android 8)。有没有一种方法可以请求用户是否撤消了权限...,以便我可以向用户发出通知,告知他如果激活它们会获得更好的用户体验?