Androidとサーバーの両方でjarを使用しない、Google Play Servicesの一部である「新しい」GCMを使用しています。Android は Google Play apk を使用して、メッセージの登録、受信、さらには送信を行います。サーバー側では、GCM と通信するために必要なのは、サーバーに対して POST を実行することだけです (XMPP を使用していない場合)。すべての設定が完了しました。私の Android アプリは、GCM からのメッセージを登録して待機します。サーバーは GCM と通信でき、Android アプリにメッセージを配信できます。
問題: JSON との間で変換する POJO オブジェクトを含む一般的な jar (Android とサーバー) を使用しています。私のサーバーから GCM への POST は JSON を使用し、私の Android でも受信メッセージを使用しているので (少なくとも私はそう信じています)、私の生活が楽になると思いました。しかし、Android で GCM からメッセージを受信すると、メッセージのペイロードを取得してオブジェクトに変換する方法がわかりません。そこに情報が表示されますが、それは私のオブジェクトではありません (GCM がプッシュする情報がいくつかあります)。
私の質問は次のとおりです:Androidの終わりに、GCMサーバーに送信した方法でペイロード情報を取得する方法はありますか? または、JSON を使用せずに Android で受信したデータを解析する必要がありますか?
送信したメッセージ (「データ」はペイロード)
{"registration_ids":["APA91bFdV..."],"collapse_key":null,"delay_while_idle":false,"time_to_live":2419200,"data":{"type":10,"targetVersion":-1, "メッセージ":"テスト メッセージ","URL":"テスト URL"}}
私がAndroidで得たもの インテント.getExtras().toString()
バンドル[{message=test msg, collapse_key=do_not_collapse, targetVersion=-1, from=483833987130, type=10, url=test url}]
よろしくお願いします。ありがとう!