Сообщение push-уведомления GCM за пределами словаря данных

Есть ли способ получить ключевое «сообщение» на устройстве при отправке уведомления в GCM.

   { "collapse_key" : "score",
     "data" : { "k1" : "v1" },
     "message" : "Hello World!",
     "registration_ids" : [ "DEVICE_REGISTRATION_ID_GOES_HERE" ]
   }

Из намерения.getExtras() я могу получить следующие ключи "collapse_key", "from", "k1" и соответствующие им значения. Однако я не получаю ключ "сообщение". Если я ничего не добавляю в словарь «data», я все равно получаю push-уведомление без «k1» (как и ожидалось).

Отправка в GCM не приводит к ошибкам. Отбрасывает ли GCM ключи, не упомянутые в словаре data?


person Srikanth    schedule 10.04.2014    source источник


Ответы (1)


Да так как у вас не получится. Все, что вы хотите добавить, сделайте частью объекта данных:

{
    "collapse_key": "score",
    "data": {
        "k1": "v1",
        "message": "Hello World!"
    },
    "registration_ids": [
        "DEVICE_REGISTRATION_ID_GOES_HERE"
    ]
}
person meda    schedule 10.04.2014
comment
Я полностью осведомлен о том, что вы сказали. Мой вопрос конкретно заключается в том, что GCM делает со значением ключа, которое не является частью словаря данных. Если я отправлю дополнительное значение ключа вне данных, оно с радостью примет его и не передаст его устройству. Или, может быть, это происходит по-другому. Я не знаю. Это нигде не задокументировано. У вас есть какие-нибудь указатели здесь? - person Srikanth; 18.04.2014