FCM позволяет отправлять push-сообщения с двумя типами полезной нагрузки (уведомления и данные) , которые обрабатываются по-разному на Android :
- уведомлений, которые содержат только данные уведомлений
- сообщения данных, которые содержат только пользовательские данные
- уведомления + сообщения данных, которые ведут себя по-разному в зависимости от того, находится ли приложение на переднем плане или нет
В третьем случае, если приложение находится на переднем плане, сообщение обрабатывается пользовательским подклассом FirebaseMessagingService
в onMessageReceived(RemoteMessage)
. В противном случае система (или, точнее, Google Play Services) создает push-уведомление.
Я хотел бы создать уведомление в onMessageReceived(RemoteMessage)
, которое было бы идентично уведомлению, которое система создаст, если push-уведомление получено, когда приложение не работает или находится в фоновом режиме, т.е. принимая во внимание данные уведомления, полученные в push-формате (RemoteMessage.Notification
), значения по умолчанию, установленные в метаданных манифеста, и т. д. Есть ли в SDK метод, позволяющий это сделать, или, возможно, сторонняя библиотека или Я должен сам перепроектировать его?