Ich möchte Daten direkt in ein GCM (Google Cloud Message) einbetten, damit meine Anwendung eine Rundreise zu meinem Server überspringen kann.Woher weiß ich, ob meine GCM-Nachricht klein genug ist (<4kb), um gesendet zu werden? (Wie bekomme ich die Größe von String?)
Google sagt, dass die gesamte Datennutzlast in 4kb passen muss. Daten werden mit [Schlüssel, Wert] -Paaren gesendet. Angenommen, ich habe so etwas wie dies:
String key = "key";
String data = "data";
Message message = new Message.Builder().addData(key, data).build();
sender.send(message, regId, 5);
Wie kann ich wissen, ob die String data
weniger als 4 kb? Nach meinem Wissen gibt es keine Möglichkeit, ein String.getSize()
oder ähnliches zu tun.
Link zur Dokumentation, wenn neugierig: http://developer.android.com/training/cloudsync/gcm.html#embed
Entschuldigung, ich meinte die Dokumentation von Google, die das Einbetten von Daten direkt in ein GCM erklärt. –
Ich glaube, Sie suchen [this] (http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html). Beachten Sie, dass Sie sich die statische Klasse [Message.Builder] (http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html) ansehen müssen) für die Methode addData(). –
E.G. Bei Verwendung von [Sender.post (..)] (http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Sender.html#post%28java. lang.String,% 20java.lang.String% 29) um die Nachricht zu senden, beachten Sie, dass sie eine 'IOException' auslöst. Wenn es eine "IOException" im Falle einer zu großen Nachricht auslöst, kann die Antwort auf die Frage auf "probiere es" herunterkochen. –