Уведомление Firebase не работает должным образом, используя сервис FCM - PullRequest
0 голосов
/ 30 октября 2018

Иногда отправка сообщений FCM и некоторая задержка происходят или никогда не принимаются на устройствах. если FCM ненадежен, пожалуйста, предложите альтернативы для push-уведомлений.

1 Ответ

0 голосов
/ 01 ноября 2018

FCM создает проблему уведомления на следующих устройствах,

  • iPhone 6, подключенный к Xcode, получает уведомление
  • iPhone 6 с запущенной версией testflight получает уведомление
  • Версия магазина приложений для iPhone 6 получает уведомление
  • iPhone 6 Plus, подключенный к Xcode, получает уведомление
  • iPhone 6 Plus с запущенной версией testflight получает уведомление
  • Версия магазина приложений для iPhone 6 Plus получает уведомление

  • iPhone X с запущенной версией testflight НЕ получает

Решение:

По какой-то причине iPhone X требует, чтобы полезная нагрузка содержала «уведомление: {« title »:« xxx »,« body »:« xxx »}», что не имеет смысла, поскольку iPhone 6 и iPhone 6 plus могут получать push-уведомление без этой полезной нагрузки ... Проблема теперь в том, что добавление «уведомления» к полезной нагрузке заставит iOS отображать уведомление на панели задач сразу же после его получения, что превосходит цель «тихого» уведомления, которое я хочу доставить.

Вот предыдущая полезная нагрузка, которая не работает на iPhone X, но работает на iPhone 6 и iPhone 6 плюс (FCM заботится о добавлении тега доступного содержимого):

{"message": {"token" : "eANw_OLOKXc:APA.....XsMg", "data" : {"content" : "2546|N|495....arg|BATTERY|||||"}}}

А вот тот, который работает с iPhone X и устанавливает высокий приоритет в бэкэнде.

{"message": {"token" : "eANw_OLOKXc:APA.....XsMg", "notification":{"title":"xxx","body":"xxx"},"data" : {"content" : "2546|N|495....arg|BATTERY|||||"}}}
...