Push-уведомление React native вызывается при отключении приложения

#ios #react-native #react-native-push-notification #react-native-fcm

Вопрос:

В моем приложении react я использую эти пакеты

 "react-native-code-push": "^7.0.1",
"@react-native-community/push-notification-ios": "^1.8.0",
 

Проблема, с которой я сталкиваюсь (возможно, это не проблема и проблема с моим пониманием), заключается в том, что, когда я получаю толчок, приложение вызывает уведомление, даже если мое приложение закрыто и не взаимодействует. Это происходит только в IOS.

Вот мой код для обработки push-нотации

 const _pushConfig = () => {
    PushNotification.configure({
      // (optional) Called when Token is generated (iOS and Android)
      onRegister: async function (token) {
        let pushToken = token.token
        if (Platform.OS === 'ios') {
          pushToken = await Storage.getString('IOSPushToken')
          if (!pushToken amp;amp; pushToken !== '') {
            let fcmToken = await apnsToFcm(token.token)
            pushToken = fcmToken.results[0].registration_token
            await Storage.setString('IOSPushToken', pushToken)
          }
        }
        await Storage.setString('pushtoken', pushToken)
      },

      onNotification: _handleNotification,
      // (optional) Called when Registered Action is pressed and invokeApp is false, if true onNotification will be called (Android)
      onAction: function (notification) {
      },

      // (optional) Called when the user fails to register for remote notifications. Typically occurs when APNS is having issues, or the device is a simulator. (iOS)
      onRegistrationError: function (err) {
        console.error(err.message, err)
      },

      // IOS ONLY (optional): default: all - Permissions to register.
      permissions: {
        alert: true,
        badge: true,
        sound: true,
      },

      // Should the initial notification be popped automatically
      // default: true
      popInitialNotification: true,

      /**
       * (optional) default: true
       * - Specified if permissions (ios) and token (android and ios) will requested or not,
       * - if not, you must call PushNotificationsHandler.requestPermissions() later
       * - if you are not using remote notification or do not have Firebase installed, use this:
       *     requestPermissions: Platform.OS === 'ios'
       */
      requestPermissions: true,
    })
    createNotifcationChannel()
  }


const _handleNotification = async notification => {
    console.log('handle notification', notification)
    try {
      if (appState.Authorized amp;amp; !notification.userInteraction) {
      }

      // reduce the number of time we need to set state
      if (notificationState.appNativeState === 'active') {
      }
     

      if (notification.userInteraction) {
        _handleNotificationFromTray(notification)
        return //handle opened from tray notification separately
      }

      if (appState.Authorized) {
      }
    } catch (ex) {
      console.debug(ex)
    }
  }
 

Так это ошибка в библиотеке или я что-то делаю не так? Заранее спасибо за вашу помощь. 🙂