Firebase продолжает получать множественные ответы при каждом запуске нового приложения - PullRequest
0 голосов
/ 31 марта 2020

Проблема:

Я интегрировал собственную версию firebase v5 в мой проект. Однако при каждом запуске нового приложения (, нажав на уведомление pu sh в области уведомлений ), затем на следующем уведомлении pu sh, которое поступает на мой мобильный телефон, будет появляться дважды.

Если я повторю шаги, описанные выше (, открою приложение через уведомление из лотка ) несколько раз, тогда мое приложение получит сообщение от сервера приложений несколько раз.

I я подозреваю, потому что каждый новый запуск есть слушатель снова добавляется в мое приложение? Также отметим, что при каждом запуске приложения ( открывать приложение через панель уведомлений ), componentDidMount запускается снова.

Есть мысли?

Код:

Я звоню под кодом моего componentDidMount ()

this.notificationOpenedListener = firebase
      .notifications()
      .onNotificationOpened(notificationOpen => {
        const {title, body} = notificationOpen.notification;
        console.log('onNotificationOpened(): open notificaiton, show alert');
        // this.showAlert(title, body);
      });


const notificationOpen = await firebase
      .notifications()
      .getInitialNotification();
    console.log('getInitialNotification()');
    console.log(notificationOpen);
    if (notificationOpen) {
      const {title, body} = notificationOpen.notification;

      // Prevent the alert box keep showing when App Reload
      if (title) {
        console.log(
          'getInitialNotification(): check to see if the application was opened by a notification',
        );
        // this.showAlert(title, body);
      }
    }


this.notificationOpenedListener = firebase
      .notifications()
      .onNotificationOpened(notificationOpen => {
        const {title, body} = notificationOpen.notification;
        console.log('onNotificationOpened(): open notificaiton, show alert');
        // this.showAlert(title, body);
      });

Информация об окружающей среде:

"react-native-firebase": "^5.6.0"

react-native: 0.61.5 => 0.61.5 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...