用于移动推送通知的 AWS SNS 的最大有效负载长度是多少?

Posted

技术标签:

【中文标题】用于移动推送通知的 AWS SNS 的最大有效负载长度是多少?【英文标题】:What is the maximum payload length of AWS SNS for mobile push notifications? 【发布时间】:2017-12-07 12:14:04 【问题描述】:

在 AWS SNS 的常见问题解答中,他们提到:

除 SMS 消息外,Amazon SNS 消息最多可包含 256 KB 的文本数据,包括 XML、JSON 和无格式文本。

问:SNS 主题如何与 Mobile Push 配合使用?

SNS 主题可以拥有来自任何受支持的推送通知平台以及任何其他端点类型(例如 SMS 或电子邮件)的订阅者。当您向主题发布通知时,SNS 会将该消息的相同副本发送到订阅该主题的每个端点。如果您使用特定于平台的负载来定义发送到每个推送平台的确切负载,如果超过相关推送通知平台规定的最大负载大小,则发布将失败。

问:各种目标平台支持的有效载荷大小是多少?

SNS 将支持底层原生平台支持的最大负载大小。客户可以使用 JSON 对象发送特定于平台的消息。有关更多详细信息,请参阅使用 SNS 移动推送 API。

https://aws.amazon.com/sns/faqs/

我的问题是,如果通过 GCM 和 APN 传递的有效负载消息的长度受到限制,我可以使用 SNS 向移动设备发送 256KB 有效负载吗?

如果应用尚未运行,这些通过 SNS 主题发送的通知能否唤醒应用?

【问题讨论】:

文档是这样说的。我不确定您要进一步澄清什么。 我已经更新了我的问题。如果可能,请检查并回答。 【参考方案1】:

根据FAQ - Mobile push notifications:

SNS 将支持 底层原生平台。客户可以使用 JSON 对象发送 平台特定的消息。请参阅使用 SNS 移动推送 API 更多细节。

根据(例如)Apple's PUSH Notification docs:

JSON 有效负载不得压缩,并且限制为最大 大小为 4 KB(4096 字节)。对于 Internet 协议语音 (VoIP) 通知,最大大小为 5 KB(5120 字节)

因此,如果您使用 SNS 通过苹果 APNS 向移动设备发送推送通知 您需要检查有效负载是否不超过 4KB。这尤其 当您在 SNS 推送通知中随消息一起发送对象时相关。

【讨论】:

以上是关于用于移动推送通知的 AWS SNS 的最大有效负载长度是多少?的主要内容,如果未能解决你的问题,请参考以下文章

AWS SNS 移动推送通知

用于 Apple 推送通知 AWS-SNS 或 Heroku 的更好的服务器是啥?

AWS SNS - 推送 GCM 显示为从 Cloudwatch 发送但未在移动设备中接收

推送通知的 Amazon SNS android 设备令牌限制

使用 Node JS 的 AWS SNS 推送通知

使用 Laravel 的 AWS SNS 推送通知