Rob*_*ing 11 android google-cloud-messaging
也就是说,你能发送吗?
{
"registration_ids": ["whatever", ...],
"data": {
"foo": {
"bar": {
"baz": [42]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者是GCM请求的"数据"成员是否仅限于一个级别的键值对?我问b/c谷歌的文档[1]中的措辞暗示了限制,其中"数据"是:
一个JSON对象,其字段表示消息的有效负载数据的键值对.如果存在,有效载荷数据将作为应用程序数据包含在Intent中,其中键是额外的名称.例如,"data":{"score":"3x1"}会产生一个额外的意图得分,其值为字符串3x1对键/值对的数量没有限制,尽管有一个限制邮件的总大小.可选的.
[1] http://developer.android.com/guide/google/gcm/gcm.html#request
我自己做了一个测试并证实了我的想法.
使用此有效负载向自己发送GCM:
{
"registration_ids": ["whatever", ...],
"data": {
"message": {
"bar": {
"baz": [42]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的客户收到了它并解析了"消息"意图,因为:
handleMessage - message={ "bar": { "baz": [42] } }
Run Code Online (Sandbox Code Playgroud)
因此,您确实可以对数据键的值进行进一步的JSON解析.