android – GCMFCM中通知负载的大小

android – GCMFCM中通知负载的大小,第1张

概述此问题最初是指Google Cloud Messaging(GCM),但现在它也适用于取代GCM的新Firebase云消息传递(FCM). 我想知道如何在包含“通知”字典时计算GCM有效负载大小. 我一直在尝试针对Android的Google Cloud Messaging服务.文档的某些部分说您可以发送最多4KB的数据,而here则说“通知消息最多可以发送2kb的数据”. 做一些测试我可以发送 此问题最初是指Google Cloud Messaging(GCM),但现在它也适用于取代GCM的新Firebase云消息传递(FCM).

我想知道如何在包含“通知”字典时计算GCM有效负载的大小.

我一直在尝试针对Android的Google Cloud Messaging服务.文档的某些部分说您可以发送最多4KB的数据,而here则说“通知消息最多可以发送2kb的数据”.

做一些测试我可以发送带有4KB数据的“数据”有效载荷的消息,服务器接受它们没有按预期的错误.

但是,使用“通知”有效负载我发现我可以发送超过2KB数据的消息,并且服务器没有返回错误.我预计这样的消息会太大了.

我发现“通知”有效负载与“数据”有效负载共享允许的4KB,但不是以相同的方式.在“数据”有效负载中,您可以通过添加键和值的大小来计算大小. “通知”有效负载占用的空间大于密钥大小和包含的值.

当包含“通知”字典时,如何预先计算有效载荷的大小?

解决方法 我尝试了新的FCM服务的有效载荷大小.

对于包含“数据”字典而没有“通知”字典的消息,我设法发送最多4096个字符(计算所有键和值的长度).

对于包含“通知”字典而没有“数据”字典的消息,以及包含“通知”字典和“数据”字典的消息,我设法发送最多4062个字符.我无法弄清楚剩余的34个字符是如何计算的.

这意味着将“通知”有效负载限制为2K的文档不正确.你可以发送接近4K.

现在,阅读FCM的最新文档,我发现the documentation of Message types说:

Notification messages contain a predefined set of user-visible keys. Data messages,by contrast,contain only your user-defined custom key-value pairs. Notification messages can contain an optional data payload. Maximum payload for both message types is 4KB,except when sending messages from the Firebase console,which enforces a 1024 character limit.

另一方面,the description of the “MessageTooBig” error说:

Check that the total size of the payload data included in a message does not exceed FCM limits: 4096 bytes for most messages,or 2048 bytes in the case of messages to topics. This includes both the keys and the values.

我测试的消息不是主题消息,因此根据两个引号,它们不应限于2K.

因此,根据当前文档的有效负载限制是4K(可能除了主题消息之外,我没有测试).

总结

以上是内存溢出为你收集整理的android – GCM / FCM中通知负载的大小全部内容,希望文章能够帮你解决android – GCM / FCM中通知负载的大小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1133757.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存