Я работаю с "новым" GCM, частью Служб Google Play, который не использует баннеры для Android и сервера. Android использует Google Play apk для регистрации, получения и даже отправки сообщений. На стороне сервера все, что нам нужно для связи с GCM, - это сделать POST на их сервер (если не использовать XMPP). У меня все установлено: мое приложение Android регистрируется и ждет сообщений, поступающих из GCM. Мой сервер может общаться с GCM, и я могу доставлять сообщения в свое приложение для Android.
Проблема: я использую общую банку (Android и сервер) с объектами POJO, которые я преобразовываю в JSON и из него. Поскольку POST для GCM с моего сервера использует JSON, и полученные сообщения в моем приложении Android тоже (по крайней мере, я полагаю, что это так), я думал, что это облегчит мне жизнь. Но когда вы получаете сообщение от GCM в Android, я не знаю, как получить полезную нагрузку и преобразовать мои объекты. Я вижу информацию там, но это не мой объект (есть какая-то информация, которую GCM нажимает на него).
Мой вопрос: есть ли способ получить в конце Android информацию о полезной нагрузке так, как я отправил на сервер GCM? Или я должен анализировать полученные данные на Android без JSON?
Сообщение, которое я отправил ( "данные" являются полезной нагрузкой)
{ "registration_ids": [ "APA91bFdV..." ], "collapse_key": нулевая "delay_while_idle": ложь, "time_to_live": 2419200, "данные": { "тип": 10, "targetVersion": -1, "message": "test msg", "url": "test url" }}
Что я получил в Android intent.getExtras(). toString()
Bundle [{message = test msg, collapse_key = do_not_collapse, targetVersion = -1, from = 483833987130, type = 10, url = test url}]
Буду признателен за вашу помощь. Спасибо!