Потерянные уведомления FCM PUSH - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть приложение для Android, которое получает высокий приоритет "только данные" уведомления FCM PUSH. В целом, большинство получено, но нередко, некоторые не попадают в приложение. Я использую BigQuery для мониторинга определенных типов сбоев доставки PUSH. В частности, BigQuery может определить, было ли сообщение ПРИНЯТО устройством или нет.

У меня совсем недавно был пример запуска приложения (о чем свидетельствует файл журнала, который генерирует приложение). Два PUSH были отправлены клиенту с интервалом около 2 минут. Второй был получен точно в срок, но никаких признаков первого PUSH нет. Устройство работало под управлением Android 8 (API 26).

BigQuery сообщает, что ОБА PUSH-уведомление было «MESSAGE_ACCEPTED» устройством (хотя мы все можем предположить, что это значит, точные детали не очень хорошо определены Google),В любом случае я могу предположить, что сервис Google Play (то есть, принимающий уведомления FCM PUSH) по крайней мере отправил серверам FCM ACK для обоих моих PUSH.

Для второго PUSH мой FCMListenerService былсоздан и onMessageReceived () был вызван, как и ожидалось. Для первого нажатия нет активности из приложения. Первое PUSH-сообщение даже не было доставлено поздно, оно просто не было получено.

Похоже, что толчок был утерян после того, как был получен ACK от службы Google Play и до моего обработчика onMessageReceived (), и не сделал 'даже не запускать мой FCMListenerService.

У кого-нибудь есть какие-либо предложения о том, как определить, что произошло, или отследить этот последний переход уведомления PUSH?

...