Не всегда ли firebase отправляет уведомления через APN? - PullRequest
0 голосов
/ 04 декабря 2018

Я заметил, что в документации firebase говорится следующее:

Если предоставляется уведомление полезная нагрузка или content_available для сообщения на устройство iOS установлено значение true , сообщение отправляется через APN, в противном случае оно отправляется через сервер соединений FCM .

Может кто-нибудь объяснить, что это значит?

Я думал, что ВСЕ push-уведомления отправляются на устройства iOS, сначала отправляются на Apple , а затем пересылаются Apple на соответствующее устройство / устройства, ноздесь подразумевается, что они отправляют сообщения непосредственно на устройство?

Возможно ли это даже при закрытии приложения на iOS?

Я в замешательстве, спасибо.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Когда приложение находится на переднем плане, FCM может подключаться напрямую, а не через APN для сообщений типа data.Сообщения, отправленные в фоновом режиме, доставляются через APN, как и следовало ожидать.Вы действительно можете взглянуть на источник клиента FCM , если вы так склонны!

Вы можете контролировать, используется ли это свойство shouldEstablishDirectChannel .

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

0 голосов
/ 05 декабря 2018

Насколько я понимаю после прочтения документа, он может пытаться утверждать, что:

Если можно сделать вывод, что уведомление направлено на устройство iOS (будь то из полезных данных уведомления илиключ доступа к содержимому), он обходит FCM и отправляется непосредственно в APNS для оптимизации, поскольку в любом случае известно, что он на 100% предназначен для APNS.

В противном случае он будет отправлен в FCM и направлен куда угодноэто должно идти оттуда.Это может быть уведомление для устройства iOS, которое может быть отправлено в APNS из FCM, но оно не может быть выведено.

...