小编use*_*497的帖子

如何计算android gcm的有效负载长度

在android GCM文档中,据说有效负载的限制为4096字节.

但是,我发现我可以发送16834个有效载荷.

我犯了错误吗?我按如下方式计算了长度:


Map<Object, Object> jsonRequest = new HashMap<Object, Object>();
setJsonField(jsonRequest, GCMConstants.PARAM_TIME_TO_LIVE, message.getTimeToLive());
setJsonField(jsonRequest, GCMConstants.PARAM_COLLAPSE_KEY, message.getCollapseKey()); 
setJsonField(jsonRequest, GCMConstants.PARAM_DELAY_WHILE_IDLE, message.isDelayWhileIdle());
jsonRequest.put(GCMConstants.JSON_REGISTRATION_IDS, registrationIds); 
Map<String, Object> payload = message.getData(); 
if (!payload.isEmpty()) { 
    jsonRequest.put(GCMConstants.JSON_PAYLOAD, payload);
}  
String requestBody = gson.toJson(jsonRequest); 
System.out.println(requestBody.getBytes("UTF-8").length);
Run Code Online (Sandbox Code Playgroud)

此外,如果有效载荷太长,GCM的响应是什么?

android payload push-notification google-cloud-messaging

6
推荐指数
1
解决办法
9001
查看次数

有效负载4096字节是否包含registration_id长度?

在Android GCM文档中,据说有效负载限制为4096字节.

有效载荷的4096字节是否包含registration_id长度?我发现我可以发送一个有效载荷为16038字节的消息(包括registration_ids).

android push-notification google-cloud-messaging

5
推荐指数
1
解决办法
4518
查看次数