本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
针对移动SNS应用程序的 Amazon 应用程序事件通知
Amaz SNS on 支持在某些应用程序事件发生时触发通知。然后,您可以对该事件采取一些编程操作。您的应用程序必须支持推送通知服务,例如 Apple 推送通知服务 (APNs)、Firebase 云消息 (FCM) 和 Windows 推送通知服务 (WNS)。您可以使用 Amazon SNS 控制台设置应用程序事件通知 AWS CLI,或 AWS SDKs。
可用应用程序事件
应用程序事件通知跟踪各个平台终端节点何时创建、删除、更新以及出现传输故障。以下是应用程序事件的属性名称。
属性名称 | 通知触发器 |
---|---|
EventEndpointCreated |
向应用程序添加新的平台终端节点。 |
EventEndpointDeleted |
删除与应用程序关联的任何平台终端节点。 |
EventEndpointUpdated |
与应用程序关联的平台终端节点的任何属性发生更改。 |
EventDeliveryFailure |
向与应用程序关联的任何平台终端节点的传输操作发生永久性故障。注意要跟踪平台应用程序端的传输故障,需要为应用程序订阅消息传输状态事件。有关更多信息,请参阅使用 Amazon SNS 应用程序属性获取消息传送状态。 |
您可以将任何属性与应用程序关联,然后应用程序就可以接收这些事件通知。
发送移动推送通知
要发送应用程序事件通知,您需要为每种事件类型指定用于接收通知的主题。当 Amazon SNS 发送通知时,该主题可以将通知路由到将采取编程操作的终端节点。
重要
高容量应用程序将创建大量的应用程序事件通知(例如,数万条),这会“淹没”供人们使用的终端节点,例如电子邮件、电话号码和移动应用程序。在向主题发送应用程序事件通知时,需要考虑以下指导原则:
-
每个接收通知的主题都应仅包含对编程终端节点(例如HTTP终端节点、Amazon SQS 队列或 AWS Lambda 函数)的订阅。HTTPS
-
要减少通知触发的处理量,请将每个主题的订阅数限制在很小的数目(例如,五个或更少)。
您可以使用 Amazon SNS 控制台、 AWS Command Line Interface (AWS CLI) 或发送应用程序事件通知 AWS SDKs。
AWS Management Console
登录 Amazon SNS 控制台
。 -
在导航面板中,选择移动,推送通知。
-
在移动推送通知页面的平台应用程序部分,选择一个应用程序,然后选择编辑。
-
展开 Event notifications (事件通知) 部分。
-
依次选择 Actions 和 Configure events。
-
输入ARNs要用于以下事件的主题:
-
已创建终端节点
-
已删除终端节点
-
已更新终端节点
-
传输失败
-
-
选择 Save changes(保存更改)。
AWS CLI
运行 set-platform-application-attributes 命令。
以下示例为所有四个应用程序事件设置了相同的 Amazon SNS 主题:
aws sns set-platform-application-attributes --platform-application-arn arn:aws:sns:us-east-1:12345EXAMPLE:app/FCM/MyFCMPlatformApplication --attributes EventEndpointCreated="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventEndpointDeleted="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventEndpointUpdated="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents", EventDeliveryFailure="arn:aws:sns:us-east-1:12345EXAMPLE:MyFCMPlatformApplicationEvents"
AWS SDKs
SNSAPI使用 Amazon 向亚马逊提交SetPlatformApplicationAttributes
请求,设置应用程序事件通知 AWS SDK。
有关 AWS SDK开发者指南和代码示例的完整列表,包括入门帮助和有关先前版本的信息,请参阅将 Amazon SNS 与 AWS SDK。