Как настроить пользовательский макет для тех уведомлений, которые будут отображаться, когда приложение находится в фоновом режиме? - PullRequest
2 голосов
/ 11 июня 2019

Я внедрил службу облачных сообщений Firebase (FCM) в своем приложении, и я получаю уведомления с помощью своего пользовательского макета, но только когда приложение находится на переднем плане и причина ясна, это из-за существующего setCustomContentView(myContentView) в onMessageReceived и мы все знаем, что onMessageReceived обрабатывает уведомления только тогда, когда приложение находится на переднем плане.

Теперь я собираюсь узнать, есть ли способ установить тот же пользовательский макет для уведомлений, который будетотображается, когда приложение находится в фоновом режиме?

Ответы [ 2 ]

2 голосов
/ 11 июня 2019

FCM имеет два типа сообщений: когда ваше приложение находится в фоновом режиме.

  • Уведомление: enter image description here

  • Сообщение данных: enter image description here

    1. Уведомление: уведомление доставляется в системный трей устройства, а не onMessageReceived

    2. Сообщение данных: всегда, уведомление доставляется на onMessageReceived As image

, поэтому Вам необходимо отправить форматСообщение с данными для обработки уведомлений в onMessageReceived, когда приложение находится в фоновом режиме или на переднем плане

1 голос
/ 11 июня 2019

Я бы посоветовал изменить код сервера для получения данных onMessageReceived как на переднем, так и на заднем плане и попросить отправителя отправлять только полезные данные без уведомления.

Здесь я удалил полезную нагрузку уведомления.

{"to":"[add your token]","data":{"title":"Working Good","body":"[add your message]"},"priority":"high"}
...