我想直接在GCM(Google Cloud Message)中嵌入數據,以幫助我的應用程序跳過我的服務器。谷歌表示,總數據有效載荷需要適合4kb以內。數據使用[鍵,值]對發送。假設我做了這樣的事情:我如何知道我的GCM消息是否足夠小(<4kb)發送? (如何獲取字符串的大小?)
String key = "key";
String data = "data";
Message message = new Message.Builder().addData(key, data).build();
sender.send(message, regId, 5);
我怎麼能知道,如果String data
小於4KB?據我所知,沒有辦法真正做String.getSize()
或類似的。
鏈接到的文檔,如果好奇: http://developer.android.com/training/cloudsync/gcm.html#embed
對不起,我的意思是Google的文檔直接向GCM解釋嵌入數據。 –
我認爲您正在尋找[this](http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.html)。請注意,您必須查看靜態類[Message.Builder](http://developer.android.com/guide/google/gcm/server-javadoc/com/google/android/gcm/server/Message.Builder.html )爲addData()方法。 –
E.G.如果使用[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)發送消息,注意它會拋出一個'IOException'。如果在消息太大的情況下拋出IOException,那麼問題的答案可能歸結爲「嘗試」它。 –