Chcę osadzić dane bezpośrednio w GCM (Google Cloud Message), aby pomóc mojej aplikacji pominąć podróż w obie strony na mój serwer.Skąd mam wiedzieć, czy moja wiadomość GCM jest wystarczająco mała (<4kb) do wysłania? (Jak uzyskać rozmiar ciągu?)
Google twierdzi, że całkowita ładowność danych musi mieścić się w granicach 4 kb. Dane są wysyłane za pomocą par [klucz, wartość]. Zakładając, że zrobiłem coś takiego:
String key = "key";
String data = "data";
Message message = new Message.Builder().addData(key, data).build();
sender.send(message, regId, 5);
Skąd mogę wiedzieć, czy String data
jest mniejsza niż 4kB? Według mojej wiedzy nie ma sposobu, aby naprawdę zrobić String.getSize()
lub podobne.
Link do dokumentacji czy ciekawy: http://developer.android.com/training/cloudsync/gcm.html#embed
Przepraszamy, miałem na myśli dokumentację Google wyjaśniającą osadzanie danych bezpośrednio w GCM. –
Myślę, że szukasz [tego] (http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html). Zauważ, że musisz przyjrzeć się klasie statycznej [Message.Builder] (http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html) dla metody addData(). –
E.G. Jeśli używasz [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), aby wysłać wiadomość, zauważ, że generuje 'wyjątek IOException'. Jeśli wyrzuci "wyjątek IOException" w przypadku zbyt dużej wiadomości, odpowiedź na pytanie może sprowadzić się do "spróbuj". –