我的情况如下:
我们将GCM与XMPP一起使用。这只是目前可以预见的未来。
我知道数据通知的有效负载大小为4KB。
如果我已经发现自己的有效载荷超出范围,我想跳过将其有效载荷发送到gcm的操作。 为此,我需要计算将要发送的字符串的大小(以字节为单位)。 由于每个字符串都有一个编码,字节数取决于那个,我不确定该怎么做。 目前,我们将字节计算为utf-8。
基于我们在GCM方面看到的错误:消息太大。 当这些相同的通知成功通过我们自己的验证时。 有时甚至是对于小于3KB的有效载荷。
我开始认为,也许GCM将这些有效载荷视为Unicode(utf-16)。 实际上,我也对此理论有所支持,因为倾向于接收该错误的通知包含诸如越南语,俄语,印尼语
之类的语言的字符串。该组中存在类似的问题,答案很容易在文档中找到:限制为4KB(字节)。
您知道GCM如何获取此字节数,它用于进行验证吗?
非常感谢,我希望我有足够的道理。