【发布时间】:2012-10-18 17:48:54
【问题描述】:
我想将数据直接嵌入到 GCM(Google 云消息)中,以帮助我的应用程序跳过与服务器之间的往返行程。
Google 表示总数据负载需要在 4kb 以内。使用 [key,value] 对发送数据。假设我做了这样的事情:
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。请注意,您必须查看静态类 Message.Builder 的 addData() 方法。
-
例如如果使用Sender.post(..) 发送消息,请注意它会抛出
IOException。如果它在消息过大时抛出IOException,则问题的答案可能归结为try。 -
我使用的是
sender.send(...),而不是sender.post(...)。你说得对,我可以试试。我希望在官方“我如何知道”方面获得更多指导,以便在它太大的情况下,我可以优雅地处理它。 -
我刚才意识到你的意思是
try,而不是“试试看”,看看它是否有效,哈哈。这就是为什么我们的交流毫无意义。
标签: java android string google-cloud-messaging