У нас есть два типа полезной нагрузки в случае отправки-нисходящего потока, оба являются необязательными.
data
Этот параметр указывает пользовательские пары ключ-значение сообщенияполезная нагрузка.
уведомление
Этот параметр указывает предопределенные видимые пользователем пары ключ-значение полезной нагрузки уведомления.
[https://firebase.google.com/docs/cloud-messaging/http-server-ref#send-downstream][Find Подробнее здесь]
Когда вы находитесь в фоновом режиме, FCM будет отображать уведомление в системном трее на основе информации из полезной нагрузки уведомления.Заголовок, сообщение и значок, используемые для уведомления на панели задач, извлекаются из полезных данных уведомлений.
{
"notification": {
"title" : "title",
"body" : "body text",
"icon" : "ic_notification",
"click_action" : "OPEN_ACTIVITY_1"
}
}
Вам нужно использовать data payload вместо полезных данных уведомлений, ваша проблема полученарешен.
Вот пример JSON, который я получаю:
{
"to": "FCM registration ID",
"data": {
"someData" : "This is some data",
"someData2" : "etc"
}
}
Вот мой код Java.
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (remoteMessage == null)
return;
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
try {
JSONObject json = new
JSONObject(remoteMessage.getData().toString());
handleDataMessage(json);
} catch (Exception e) {
Log.e(TAG, "Exception: " + e.getMessage());
}
}
}
Сообщения с уведомлением иполезная нагрузка данных:
Сообщение также может содержать как уведомления, так и полезную нагрузку данных.Когда такие сообщения отправляются, они обрабатываются в двух сценариях, в зависимости от состояния приложения (фон / передний план).Для этих сообщений мы можем использовать как уведомления, так и ключи данных.
В фоновом режиме - приложения получают полезную нагрузку уведомлений в области уведомлений и обрабатывают полезную нагрузку данных только тогда, когда пользователь нажимает науведомление.
На переднем плане - приложение получает объект сообщения с обоими полезными нагрузками.