如何测试 sns APNS 推送通知到单个设备
how to test sns APNS push notifications to a single device
如何在生产环境中验证 APNS 的 AWS SNS 凭证?我需要更新凭据(public/private 密钥),因为原始证书即将过期,现在我想测试向单个设备发送推送通知,这样我就不会向每个用户发送测试推送通知。
首先,您需要确定要向其发送推送通知的特定设备的 SNS ARN,通常这可以通过使用 Charles Proxy 检查应用程序的网络流量来完成。查找对 sns.us-east-1.amazonaws.com
的请求,并在您的 SNS 应用程序名称后找到包含 guid 的请求中的 EndpointArn 属性:
然后您可以使用下面的 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
参数中仅针对单个设备。
如何在生产环境中验证 APNS 的 AWS SNS 凭证?我需要更新凭据(public/private 密钥),因为原始证书即将过期,现在我想测试向单个设备发送推送通知,这样我就不会向每个用户发送测试推送通知。
首先,您需要确定要向其发送推送通知的特定设备的 SNS ARN,通常这可以通过使用 Charles Proxy 检查应用程序的网络流量来完成。查找对 sns.us-east-1.amazonaws.com
的请求,并在您的 SNS 应用程序名称后找到包含 guid 的请求中的 EndpointArn 属性:
然后您可以使用下面的 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
参数中仅针对单个设备。