对移动推送通知使用 Amazon 上线SNS时间消息属性 - Amazon Simple Notification Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对移动推送通知使用 Amazon 上线SNS时间消息属性

亚马逊简单通知服务 (AmazonSNS) 支持为移动推送通知消息设置生存时间 (TTL) 消息属性。除此之外,还TTL可以在亚马逊SNS消息正文中为支持此功能的移动推送通知服务(例如发送到 Android 时的亚马逊设备消息 (ADM) 和 Firebase 云消息 (FCM))进行设置。

TTL消息属性用于指定有关消息的过期元数据。这允许您指定推送通知服务(例如 Apple 推送通知服务 (APNs) 或FCM)必须将消息传送到端点的时间长度。如果由于某种原因(例如移动设备已关闭)无法在指定范围内传送消息TTL,则该消息将被丢弃,并且不会再尝试传送该消息。要TTL在消息属性中指定,可以使用 AWS Management Console、 AWS 软件开发套件 (SDKs) 或查询API。

TTL推送通知服务的消息属性

以下是推送通知服务的TTL消息属性列表,您可以在使用 AWS SDKs或查询时使用这些属性进行设置API:

推送通知服务 TTL消息属性
亚马逊设备消息 (ADM) AWS.SNS.MOBILE.ADM.TTL
苹果推送通知服务 (APNs) AWS.SNS.MOBILE.APNS.TTL
Apple 推送通知服务沙盒 (APNs_SANDBOX) AWS.SNS.MOBILE.APNS_SANDBOX.TTL
百度云推送(百度) AWS.SNS.MOBILE.BAIDU.TTL
Firebase 云端消息(发送到安卓系统FCM时) AWS.SNS.MOBILE.FCM.TTL
Windows 推送通知服务 (WNS) AWS.SNS.MOBILE.WNS.TTL

每种推送通知服务的处理TTL方式都不同。Amazon SNS 提供了所有TTL推送通知服务的抽象视图,便于指定TTL。当您使用 AWS Management Console 来指定TTL(以秒为单位)时,您只需输入一次TTL值,然后 Amazon SNS 将在发布消息时计算每种选定推送通知服务的值。TTL

TTL是相对于发布时间的。在将推送通知消息传递给特定的推送通知服务之前,Amazon 会SNS计算推送通知的停留时间(从发布时间戳到移交给推送通知服务之前的时间),并将剩余的时间传递TTL给特定的推送通知服务。如果TTL比停留时间短,Amazon 将SNS不会尝试发布。

如果您TTL为推送通知消息指定 a,则该TTL值必须为正整数,除非的值对推送通知服务0有特定的含义,例如使用APNs和FCM(发送到 Android 时)。如果该TTL值设置为,0且推送通知服务没有具体含义0,则 Amazon SNS 将删除该消息。有关使用0时设置为的TTL参数的更多信息APNs,请参阅 B inary Provid er API 文档中的表 A-3 远程通知项目标识符

用于确定的优先顺序 TTL

Amazon SNS 用来确定推送通知消息TTL的优先顺序基于以下顺序,其中最小的数字优先级最高:

  1. 消息属性 TTL

  2. 消息正文 TTL

  3. 推送通知服务默认TTL(因服务而异)

  4. 亚马逊SNS默认TTL(4 周)

如果您为同一条消息设置了不同的TTL值(一个在消息属性中,另一个在消息正文中),Amazon SNS 将修改消息正文TTL中的值,使其与消息属性中TTL指定的值相匹配。

TTL使用指定 AWS Management Console

  1. 登录 Amazon SNS 控制台

  2. 在导航面板中,选择移动推送通知

  3. Mobile push notifications (移动推送通知) 页面上的平台应用程序部分中,选择应用程序。

  4. MyApplication 页面的终端节点部分中,选择应用程序终端节点,然后选择发布消息

  5. 消息详细信息部分,输入TTL(推送通知服务将消息传送到终端节点所需的秒数)。

  6. 选择发布消息