Firebase не предоставляет доказательств того, что уведомления были отправлены или доставлены в приложение для Android.

При тестировании приложения для Android из консоли Firebase статус сообщений говорит о завершении и показывает дату доставки. Как проверить, было ли сообщение отправлено в квитанции и доставлено в приложение для Android с помощью fire-base: https://console.firebase.google.com?

Я работаю над приложением для быстрого запуска firebase, чтобы протестировать push-уведомление для моих целевых пользователей. Помогите мне, пожалуйста.


person support ecommunicate    schedule 10.01.2017    source источник
comment
Я не уверен, что вы здесь спрашиваете - вам нужно точное время, когда отдельный пользователь получил сообщение? Вы можете зарегистрировать это в своем FirebaseMessagingService для каждого пользователя и отправить его на свой сервер или БД, но это звучит так, как будто это будет сложно. Кроме того, уведомления, отправляемые с консоли, ограничены тем, что они не будут получены, если ваше приложение не находится на переднем плане в момент их получения. С другой стороны, вы можете использовать http-клиент, такой как почтальон, для отправки уведомлений о данных, которые получены в фоновом режиме, а затем вы можете зарегистрировать эту дату получения.   -  person Saik Caskey    schedule 10.01.2017


Ответы (1)


У @SaikCaskey есть понимание решения вашего вопроса, хотя я не согласен с некоторыми моментами.

Не гарантируется фактическое получение push-уведомления целевым пользователем. Push-уведомление может не работать по нескольким причинам. Но дело не в этом. Вы можете получать уведомления, даже если ваше приложение находится в фоновом режиме или остановлено. Вам нужно начать FirebaseMessagingService с START_STICKY. Это поведение также может отличаться на разных устройствах. Некоторые устройства разрешают/запрещают такое поведение получения push-уведомлений, когда ваше приложение остановлено.

Итак, если вам нужно зарегистрировать, когда ваш пользователь получил push-уведомление, вы можете получить его немного сложным способом. Когда ваше устройство подключится к сети, вы получите push-уведомление, а в функции onMessageReceived вы сможете получить System.Clock для получения времени получения уведомления. Затем создайте экземпляр Firebase, а затем установите время в эталонном узле времени доставки уведомления пользователя.

Надеюсь, это поможет!

person Reaz Murshed    schedule 10.01.2017