Как получить значения уведомлений об объекте из облачных сообщений Firebase - PullRequest
0 голосов
/ 20 апреля 2020

Сервер отправляет мне данные в уведомлении следующим образом:

{    "to" : "xxxxxxxxxx",  
     "notification": 
       {
         "badge": "1",
         "bodyLocArgs": "['XXXX']",
         "bodyLocKey": "AAA.BBB.CCC",
         "image": "url_image",
         "sound": "default"
       },
    "data": {
        "friend": "5dde6ffe47f65624004556d1",
        "type": "FRA"
    } }

в моей функции onMessageReceived Я не могу получить значения объекта "notification", я пытался remoteMessage.getNotification().getBody(), но это дает мне всегда null , в remoteMessage.getData() я нашел только объект "data" с "другом" и "типом", поэтому мой вопрос в том, как получить объект "notification"

enter image description here

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Отправка этого формата уведомлений прекрасно работает для меня, в фоновом режиме, в приложениях forground и kill, проблема была в дочернем «уведомлении»

{    "to" : "xxxxxxxxxx",  

    "data": {
         "badge": "1",
         "bodyLocArgs": "['XXXX']",
         "bodyLocKey": "AAA.BBB.CCC",
         "image": "url_image",
         "sound": "default"
         "friend": "5dde6ffe47f65624004556d1",
         "type": "FRA"
    } }

в remotemessage.getData() Я нашел все значения уведомлений.

0 голосов
/ 21 апреля 2020

Уведомление не имеет тела или заголовка. Таким образом, .getBody () всегда имеет значение null.

Вы можете использовать вот так:

String bodyLocKey = remoteMessage.getNotification().getBodyLocalizationKey();
String [] bodyLocArgs = remoteMessage.getNotification().getBodyLocalizationArgs();

 remoteMessage.getNotification().getBody(); // null
 remoteMessage.getNotification().getTitle(); // null

more методов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...