zählen Im Android GCM-Dokument heißt es, die Nutzlast hat ein Limit von 4096 Bytes.Wie man android gcm Payload Länge
Allerdings habe ich festgestellt, dass ich eine Nutzlast mit 16834 Byes senden kann.
Habe ich einen Fehler gemacht? I berechnet die Länge wie folgt:
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);
Außerdem, was ist die Antwort von GCM, wenn die Nutzlast zu lang ist?
das ist eine gute Nachricht - so kann ich eine einzige Anfrage für so viele Registrierungs-IDs, die ich will senden? oder gibt es eine Grenze dafür? – epeleg
@epeleg Das Limit ist 1000 Registrierungs-IDs. – Eran