1

我想调试接收我的应用程序的 GCM 消息,但问题是我无法记录data数组之外的字段:collapse keytime-to-live等。来自服务器的 GCM 消息如下所示:

{
 "registration_ids" : ["xyz"],
"data" : {
text: {...}
 },
"time_to_live" : 3
},

出于调试目的,我想记录生存时间参数和其他参数。但是当我这样做时:String text = intent.getExtras().getString("text");我只能查看内部数据。如何查看所有 GCM 消息结构?

4

1 回答 1

1

我不相信你可以。之外的参数data不是通知有效负载的一部分。有理由相信 GCM 服务器甚至不会将它们传递给您的应用程序。这些外部参数的唯一目的是告诉 GCM 服务器如何传递消息(是否将其发送到空闲设备,当设备不可用时将其保留在 GCM 服务器中多长时间,是否覆盖旧的未传递消息具有相同的折叠键等...)。

编辑 :

处理接收到的数据

GCM 使用 com.google.android.c2dm.intent.RECEIVE Intent 将第 3 方服务器发送的消息传递到设备中运行的应用程序。如果服务器在 data 参数中包含密钥对值,则它们在此意图中可作为附加值使用,键是附加名称。GCM 还包括一个额外的调用 from ,其中包含作为字符串的发送者 ID,另一个名为 collapse_key 包含折叠键(在使用时)。

从这个引用中,您似乎还可以检索collapse_keysender ID除了里面的键/值对data

于 2013-05-27T19:02:05.070 回答