如何测试 sns APNS 推送通知到单个设备
Posted
技术标签:
【中文标题】如何测试 sns APNS 推送通知到单个设备【英文标题】:how to test sns APNS push notifications to a single device 【发布时间】:2017-08-29 17:15:35 【问题描述】:如何在生产环境中验证我的 AWS SNS 凭证以用于 APNS?我需要更新凭据(公钥/私钥),因为原始证书即将到期,现在我想测试向单个设备发送推送通知,这样我就不会向每个用户发送测试推送通知的垃圾邮件。
【问题讨论】:
【参考方案1】:首先,您需要确定要向其发送推送通知的特定设备的 SNS ARN,通常这可以通过使用 Charles Proxy 检查应用程序的网络流量来完成。查找对 sns.us-east-1.amazonaws.com
的请求,并在请求中找到 EndpointArn 属性,该属性在您的 SNS 应用程序名称之后包含一个 guid:
然后您可以使用下面的AWS CLI 命令触发推送通知,将target-arn
选项替换为上一步确定的 EndpointArn。
aws sns publish --target-arn "arn:aws:sns:us-east-1:<aws account id>:endpoint/APNS/<sns application name>/<device guid>" --message "test"
其他提示:
推送通知仅适用于通过 App Store 下载的应用(包括 Test Flight),但不适用于通过 XCode 安装的应用。 确保在应用程序名称之后包含设备 GUID,以便仅在target-arn
参数中定位单个设备。
【讨论】:
以上是关于如何测试 sns APNS 推送通知到单个设备的主要内容,如果未能解决你的问题,请参考以下文章
AWS - SNS 端点为 iOS 自行禁用 - Apple 设备(推送通知失败)