发布于 2012-07-26 22:52:18
我也有兴趣知道这件事。我的注册码大小是183个字符。我怀疑它不会超过512个字符,更不用说4K了。想象一下,发送批量通知,4K reg id x 1000 = 4MB消息大小!
最后,我只是在我的MySQL表中使用'text‘类型来存储注册id。因此,即使google发送给我一个1K、2K或4K (非常不可能)的reg id,我也能够处理它。
更新:我遇到了一个新的注册码大小: 205。
发布于 2012-11-29 18:04:18
在android-gcm论坛上,谷歌的开发者confirms是4k
发布于 2013-03-29 17:17:56
这是在GCM文档中所说的,
一个JSON对象,其字段表示消息有效负载数据的键值对。如果存在,有效负载数据将作为应用程序数据包含在意图中,关键字是额外的名称。例如,"data":{" score ":" 3x1 "}将产生一个意图额外命名的score,其值是字符串3x1。
虽然对消息的总大小(4kb)有限制,但对键/值对的数量没有限制。这些值可以是任何JSON对象,但我们建议使用字符串,因为这些值无论如何都会在GCM服务器中转换为字符串。
如果要包含对象或其他非字符串数据类型(如整数或布尔值),则必须自己进行字符串转换。还要注意,键不能是保留字(来自或以google开头的任何单词)。
让事情稍微复杂一点的是,在有效负载数据中有一些技术上允许的保留字(比如collapse_key)。但是,如果请求中还包含该单词,则请求中的值将覆盖有效负载数据中的值。因此,不建议使用在此表中定义为字段名称的单词,即使在技术上允许的情况下也是如此。可选。
https://stackoverflow.com/questions/11668761
复制相似问题