iOS-通知权限请求(rnfirebase.io / react-native)未能按预期工作

时间:2018-07-25 15:11:03

标签: firebase react-native firebase-cloud-messaging react-native-firebase

在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)。有没有一种方法可以请求用户是否撤消了权限...,以便我可以向用户发出通知,告知他如果激活它们会获得更好的用户体验?

0 个答案:

没有答案