本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对移动推送通知使用 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
用于确定的优先顺序 TTL
Amazon SNS 用来确定推送通知消息TTL的优先顺序基于以下顺序,其中最小的数字优先级最高:
-
消息属性 TTL
-
消息正文 TTL
-
推送通知服务默认TTL(因服务而异)
-
亚马逊SNS默认TTL(4 周)
如果您为同一条消息设置了不同的TTL值(一个在消息属性中,另一个在消息正文中),Amazon SNS 将修改消息正文TTL中的值,使其与消息属性中TTL指定的值相匹配。
TTL使用指定 AWS Management Console
登录 Amazon SNS 控制台
。 -
在导航面板中,选择移动,推送通知。
-
在 Mobile push notifications (移动推送通知) 页面上的平台应用程序部分中,选择应用程序。
-
在
MyApplication
页面的终端节点部分中,选择应用程序终端节点,然后选择发布消息。 -
在消息详细信息部分,输入TTL(推送通知服务将消息传送到终端节点所需的秒数)。
-
选择发布消息。