Используя Firebase Cloud Messaging , вы можете отправить Полезные данные уведомлений или Полезные данные или оба.
Полезная нагрузка уведомления содержит
title - Название уведомления
тело - орган уведомления
Названия клавиш фиксированы и не могут быть изменены.
Data Payload , с другой стороны, является просто парой ключ-значение, и вы можете отправить любое имя ключа со строковым типом в качестве значения.
FCM Поведение:
В зависимости от того, находится ли приложение на переднем плане или в фоновом режиме, а также от наличия полезных данных Notification, полезных данных Data или обоих, сообщение FCM принимается различными компонентами приложения.
Обработка уведомления FCM согласно документации,
Уведомительные сообщения доставляются, когда ваше приложение находится в фоновом режиме. В этом случае уведомление доставляется в системный трей устройства. При нажатии пользователем на уведомление по умолчанию открывается панель запуска приложения.
Сообщения как с уведомлением, так и с полезной нагрузкой данных, при получении в фоновом режиме. В этом случае уведомление доставляется в системный трей устройства, а полезная нагрузка данных доставляется в дополнительных цель вашего запуска Активность.
Это поведение было четко объяснено в разделе получения сообщений .
Как вы можете видеть, если только в случае, когда полезная нагрузка Notification отправляется в автономном режиме, вам не нужно создавать пользовательский интерфейс Notification. В противном случае вам нужно создать интерфейс уведомлений при вызове onMessageReceived
.
Использование Python:
Пример полезной нагрузки уведомления:
message = messaging.Message(
notification=messaging.Notification(
title='This is a Notification Title',
body='This is a Notification Body',
),
token=registration_token,
)
Пример полезной нагрузки данных:
message = messaging.Message(
data={
'score': '850',
'time': '2:45',
},
token=registration_token,
И
message = messaging.Message(
notification=messaging.Notification(
title='This is a Notification Title',
body='This is a Notification Body',
),
data={
'score': '850',
'time': '2:45',
},
token=registration_token,