如何测试SNNS将APN​​S推送通知发送到单个设备

问题描述:

如何验证生产中APNS的AWS SNS凭证?我需要更新证书(公钥/私钥),因为原始证书即将过期,现在我想测试向单个设备发送推送通知,以便我不会向每个用户发送包含测试推送通知的垃圾邮件。如何测试SNNS将APN​​S推送通知发送到单个设备

首先,您需要确定要发送推送通知的特定设备的SNS ARN,通常这可以通过使用Charles Proxy检查应用的网络流量来完成。寻找一个请求sns.us-east-1.amazonaws.com并找到在请求中包含您的SNS应用程序名后一个GUID的EndpointArn属性:

SNS EndpointArn value

然后你就可以使用下面的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(包括试飞)下载的应用工作,但不通过的XCode安装的应用程序。
  • 请务必在应用程序名称之后包含设备GUID,以便仅在target-arn参数中指定单个设备。