移动推送通知最佳实践 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

移动推送通知最佳实践

本部分介绍可帮助您提升客户参与度的最佳实践。

终端节点管理

如果由于用户在设备上进行操作(例如,在设备上重新安装应用程序)导致设备令牌发生变化,或者证书更新影响了在特定 iOS 版本上运行的设备,则可能导致传送过程出现问题。Apple 建议采取的最佳实践是在应用程序每次启动时向 APN 进行注册

由于在用户每次打开应用时设备令牌不会发生变化,因此可以使用幂等 CreatePlatformEndpoint API。但是,如果令牌本身无效,或者终端节点有效但已禁用(例如,生产环境和沙盒环境不匹配),则上述方法可能会为同一设备引入重复项。

可以使用设备令牌管理机制,例如伪代码中的一种此类机制。

传送状态日志记录

要监控推送通知传送状态,我们建议您为 Amazon SNS 平台应用程序启用传送状态日志记录。这有助于您排查传送失败问题,因为日志包含从推送平台服务返回的提供商响应代码。有关启用传送状态日志记录的详细信息,请参阅如何访问 Amazon SNS 主题的推送通知传送日志记录?

事件通知

要以事件驱动的方式管理终端节点,您可以利用事件通知功能。这样,已配置的 Amazon SNS 主题就可以针对终端节点创建、删除、更新和传送失败等平台应用程序事件,向订阅者(例如 Lambda 函数)发送事件。