【问题标题】:What is the actual usable message size in GCM (4kb or less?)GCM 中实际可用的消息大小是多少(4kb 或更小?)
【发布时间】:2014-12-05 05:32:50
【问题描述】:

我正在使用 GCM 服务器库从我的服务器发送消息。

    message = new Message.Builder()
    .timeToLive(10)
    .delayWhileIdle(false)
    .addData("json", sendMsgData)
    .build();

由于 GCM 支持 4kb 消息大小,我想知道 sendMsgData 的实际大小可以是多少?
sendMsgData 是否允许 4kb 或者我需要计算其他因素并减少我的实际 sendMsgData 大小?

请参考下面的google文档,如果下面的json有4kb的限制,那么用户的实际消息是“数据”下面将小于 4kb...

以下是在 google gcm doc 网站上包含 TTL 的 JSON 格式请求示例:

{
  "collapse_key" : "demo",
  "delay_while_idle" : true,
  "registration_ids" : ["xyz"],
  "data" : {
    "key1" : "value1",
    "key2" : "value2",
  },
  "time_to_live" : 3
},

【问题讨论】:

    标签: android google-cloud-messaging


    【解决方案1】:

    只有“数据”元素内的键和值的长度计入 4096 字节限制。预定义的键(如“collapse_key”、“registration_ids”等)及其值不计算在内。

    我上次测试这个限制时(几年前),似乎它甚至不是 4096 字节的限制,而是 4096 个字符的限制,这是一个更高的限制(因为你可以使用,因为例如,非英语语言的 4096 个字符,每个字符多于一个字节)。

    不过,我必须承认,我没有使用 JSON 内容类型测试此限制。我用 URL 编码的内容对其进行了测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多