使用实时通知
此页面介绍了如何在开发者控制台中设置实时通知(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
代码之外的响应,则视为消息递送失败并将重试该消息。