ПРИМЕЧАНИЕ. Следующее содержимое можно найти в этой статье базы знаний по поддержке PubNub , но есть политика переполнения стека, которая не отвечает простой ссылкой. Так что я вставляю содержимое здесь. Я написал оригинал, чтобы он не воровал;)
Почему не работают мои push-уведомления FCM?
Когда вы настраиваете и внедряете FCM в приложение PubNub, вы можете не видеть отправляемые push-уведомления. Перед тем, как приступить к устранению неполадок PubNub для мобильных устройств , убедитесь, что вы отправляете и получаете нужный тип FCM.
ПРИМЕЧАНИЕ. Следующие документы получены непосредственно из документов FCM Android :
С помощью FCM вы можете отправлять клиентам два типа сообщений:
- Уведомительные сообщения, иногда называемые «отображаемыми сообщениями». Они обрабатываются FCM SDK автоматически.
- Сообщения с данными, которые обрабатываются клиентским приложением.
- Уведомительные сообщения содержат предопределенный набор видимых пользователем ключей и могут содержать дополнительную полезную нагрузку данных.
- Напротив, сообщения данных содержат только ваши пользовательские пары ключ-значение.
- Максимальная полезная нагрузка для обоих типов сообщений составляет 4 КБ, за исключением случаев отправки сообщений с консоли Firebase, что обеспечивает ограничение в 1024 символа.
В соответствии с вышеизложенным может случиться так, что ваш код в приложении тянет неправильный тип сообщения или вы отправляете неправильный тип сообщения. Например, вы можете использовать один, другой или оба этих ключа сообщения в полезной нагрузке сообщения FCM (ранее известной как GCM): data
или notification
.
{
"pn_gcm" : {
"notification": {
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"body" : "great match!",
"room" : "PortugalVSDenmark"
}
}
}
Вам нужен только data
или notification
(возможно, оба в зависимости от вашего варианта использования), но имеет значение, если вы отправляете только data
, потому что ваш код явно отвечает за отображение push-уведомления, тогда как notification
будет автоматически отображаться Android.