W dokumencie android GCM, mówi się, że ładunek ma limit 4096 bajtów.jak liczyć długość android gcm ładunku
Jednak znalazłem, że mogę wysłać ładunek z 16834 byes.
Czy popełniłem błąd? I obliczana długość następująco:
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);
Ponadto, jaka jest reakcja z GCM jeśli ładunek jest zbyt długi?
to dobra wiadomość - mogę wysłać jedną prośbę o tyle identyfikatorów rejestracji, ile chcę? lub czy istnieje ograniczenie? – epeleg
@epeleg Limit to 1000 identyfikatorów rejestracji. – Eran