使用实时通知
此页面介绍了如何在开发者控制台中设置实时通知(RTN)。
设置实时通知
请按照以下步骤在亚马逊应用商店开发者控制台中设置RTN。
- 登录开发者控制台。
- 在亚马逊应用商店部分中,选择应用程序列表。
- 在应用程序列表页面中选择您的应用。
- 从边栏中选择应用服务,然后找到实时通知部分。
- 选择添加终端节点。
- 在用于接收亚马逊应用商店通知的URL中输入您应用的HTTPS终端节点。
- 单击提交。
提交应用的终端节点后,亚马逊将验证该URL,然后向您的应用服务器发送确认消息。您需要处理该确认消息,以便接收实时通知。有关更多详细信息,请参阅下面的处理通知消息。
更改RTN终端节点
可以更改用于接收应用RTN订阅的终端节点。在开发者控制台中查找当前RTN订阅。转到应用与服务>我的应用程序,选择您的应用,然后单击应用服务。按照以下步骤编辑实时通知:
- 单击实时通知部分中的添加终端节点,然后单击编辑。
- 选择添加新URL,或选择之前已注册的终端节点。
- 单击提交。
现在正在验证您的新终端节点。您将继续在之前的终端节点接收实时通知,直至新终端节点验证完毕。亚马逊将验证该URL,然后向您的应用服务器发送一条“订阅确认”消息。您需要处理该确认消息,以便接收实时通知。有关更多详细信息,请参阅下面的处理通知消息。
一经验证,您将开始在新终端节点接收通知。
删除实时通知
可以删除用于接收应用实时通知的终端节点。在开发者控制台中查找当前RTN订阅。转到应用与服务>我的应用程序,选择您的应用,然后单击应用服务。按照以下步骤编辑实时通知:
- 单击实时通知部分中的添加终端节点,然后单击编辑。
- 找到相应的URL,然后选择删除。
- 在显示的确认对话框中单击删除。
处理通知消息
为防止发生欺骗攻击,必须对亚马逊签名进行验证,以核实消息的真实性。有关更多信息,请参阅Amazon SNS消息签名验证。
如果您使用的是Amazon AWS SDK,则HTTPS POST和签名验证会由其为您处理。请参考以下代码片段。
如果未使用亚马逊AWS SDK,请遵循Amazon SNS消息签名验证中所述指南,处理HTTPS POST请求和签名验证步骤。
RTN确认消息
您在开发者控制台中添加用于接收RTN的终端节点后,亚马逊会向终端节点发送一条确认消息。
要处理该确认消息,请查找SubscribeURL
值。向该URL提出HTTP GET请求,或在浏览器中手动访问该URL。
可以通过Amazon SNS自动确认RTN。收到SnsSubscriptionConfirmation
消息后,使用DefaultSnsMessageHandler
自动确认RTN。DefaultSnsMessageHandler
将实施所有消息类型,SnsNotification
除外。有关SNS消息的更多信息,请参阅Amazon SNS文档。
通知
您的终端节点需要向该POST请求返回200
响应代码状态。如果无法访问您的服务器,或返回4xx
代码,则不会重试该消息。
如果您的终端节点未在15秒超时限制内做出响应,或返回200
–4xx
代码之外的响应,则视为消息递送失败并将重试该消息。
Last updated: 2021年11月13日