Я получаю фоновые уведомления, используя реагировать родной, только когда приложение подключено к Xcode - PullRequest
0 голосов
/ 05 марта 2020

Я реализую уведомление pu sh в ios с использованием библиотекиact-native-firebase.

После прочтения документации я понял, какой метод следует использовать.

Прямо сейчас , Я делаю локальное уведомление pu sh с сообщениями с сервера fcm через метод onMessage. Вот код.

 this.messageListener = firebase.messaging().onMessage(message => {
      const localNotification = new firebase.notifications.Notification()
        .setBody(notifName + content)
        .setData({
          notif_type: message._data.notif_type,
          notif_permlink: message._data.notif_permlink,
          notif_creator: message._data.notif_creator,
        });

      firebase.notifications().displayNotification(localNotification);
}

Хорошо работает, когда приложение на переднем плане. Странная вещь здесь в том, что уведомления, которые я получаю, когда приложение было в фоновом режиме, показывались, когда приложение было на переднем плане. Я думаю, что фоновое уведомление где-то хранится и отображается, когда приложение находится на переднем плане.

Итак, чтобы это исправить, после некоторых исследований я обнаружил, что для получения фонового уведомления, особенно в ios, есть должен быть другой параметр на стороне сервера, для которого для content_available установлено значение true. поэтому я попросил нашего бэкэнд-разработчика установить это так.

После того, как он изменил настройку, мне удалось получить фоновое уведомление, используя тот же метод, описанный выше, onMessage. но странным было то, что это работало только тогда, когда приложение было подключено к xcode. когда я закрыл свое приложение и перезапустился, он больше не работал. Только первый раз, когда я собрал xcode, все заработало.

Еще одна проблема заключается в том, что наш бэкэнд-разработчик сказал, что он отправляет не только полезные данные сообщений, но и удаленные уведомления. но я не мог получить удаленное уведомление, используя метод onNotification. Этот метод работал только тогда, когда я тестировал службу тестирования облачных сообщений в консоли Firebase. Вот почему я делаю локальное уведомление, используя onMessage. Как я могу использовать удаленное уведомление или как проверить, если это или нет? Прямо сейчас я не могу использовать удаленное уведомление даже на переднем плане.

Есть ли кто-нибудь, кто имеет эту странную ситуацию? Если у вас есть какое-либо решение, пожалуйста, поделитесь с нами.

спасибо.

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