移动应用程序的 Amazon SNS 应用程序事件通知
Amazon SNS 提供在发生特定应用程序事件时触发通知的支持。然后,您可以对该事件采取一些编程操作。您的应用程序必须包括对推送通知服务的支持,例如 Apple Push Notification Service(APNs)、Firebase Cloud Messaging(FCM)和 Windows 推送通知服务(WNS)。使用 Amazon SNS 控制台、AWS CLI 或 AWS SDK 设置应用程序事件通知。
可用应用程序事件
应用程序事件通知跟踪各个平台端点何时创建、删除、更新以及出现传输故障。以下是应用程序事件的属性名称。
属性名称 | 通知触发器 |
---|---|
EventEndpointCreated |
向应用程序添加新的平台端点。 |
EventEndpointDeleted |
删除与应用程序关联的任何平台端点。 |
EventEndpointUpdated |
与应用程序关联的平台端点的任何属性发生更改。 |
EventDeliveryFailure |
向与应用程序关联的任何平台端点的传输操作发生永久性故障。注意要跟踪平台应用程序端的传输故障,需要为应用程序订阅消息传输状态事件。有关更多信息,请参阅使用用于消息传输状态的 Amazon SNS 应用程序属性。 |
您可以将任何属性与应用程序关联,然后应用程序就可以接收这些事件通知。
发送移动推送通知
要发送应用程序事件通知,您需要为每种事件类型指定用于接收通知的主题。Amazon SNS 发送通知时,主题可以将它们路由至将采取编程操作的终端节点。
重要
高容量应用程序将创建大量的应用程序事件通知(例如,数万条),这会“淹没”供人们使用的端点,例如电子邮件、电话号码和移动应用程序。在向主题发送应用程序事件通知时,需要考虑以下指导原则:
-
接收通知的每个主题应仅包含对以编程形式操作的终端节点的订阅,例如 HTTP 或 HTTPS 终端节点、Amazon SQS 队列或 AWS Lambda 函数。
-
要减少通知触发的处理量,请将每个主题的订阅数限制在很小的数目(例如,五个或更少)。
您可以使用 Amazon SNS 控制台、AWS Command Line Interface (AWS CLI) 或 AWS SDK 发送应用程序事件通知。
AWS Management Console
登录 Amazon SNS 控制台
。 -
在导航面板中,选择移动,推送通知。
-
在移动推送通知页面上的平台应用程序部分中,选择应用程序,然后选择编辑。
-
展开事件通知部分。
-
依次选择操作和配置事件。
-
输入要用于以下事件的主题的 ARN:
-
已创建端点
-
已删除端点
-
已更新端点
-
传输失败
-
-
选择保存更改。
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 SDK
通过使用 AWS 开发工具包提交 Amazon SNS API 的 SetPlatformApplicationAttributes
请求来设置应用程序事件通知。
有关 AWS 开发工具包开发人员指南和代码示例的完整列表,包括帮助入门和有关早期版本的信息,请参阅 将 Amazon SNS 与 AWS 开发工具包结合使用。