选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Amazon SNS 移动应用程序属性

聚焦模式
Amazon SNS 移动应用程序属性 - Amazon Simple Notification Service

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

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

Amazon Simple Notification Service (Amazon SNS) 支持记录推送通知消息的传输状态。配置应用程序属性后,从 Amazon SNS 发送到移动终端节点的消息的 CloudWatch 日志条目将发送到日志。记录消息传输状态有助于提供更好的业务洞察力,例如以下方面:

  • 了解推送通知消息是否已从 Amazon SNS 传输到推送通知服务。

  • 识别从推送通知服务发送到 Amazon SNS 的响应。

  • 确定消息停留时间(发布时间戳与将消息转交给推送通知服务之间的时间差)。

要为消息传送状态配置应用程序属性,您可以使用 AWS 软件开发套件 (SDKs) 或查询 API。 AWS Management Console

使用配置邮件传送状态属性 AWS Management Console

  1. 登录 Amazon SNS 控制台

  2. 在导航面板中,指向移动,并选择推送通知

  3. 平台应用程序部分,选择包含要接收 CloudWatch 日志的终端节点的应用程序。

  4. 选择 Application Actions (应用程序操作),然后选择 Delivery Status (传输状态)

  5. 传输状态对话框中,选择创建 IAM 角色

    随后您将被重定向至 IAM 控制台。

  6. 选择 “允许”,授予 Amazon SNS 写入权限,让您可以代表您使用 CloudWatch 日志。

  7. 现在,返回 “传送状态” 对话框中,在 “成功样本百分比 (0-100)” 字段中输入一个数字,表示要接收 CloudWatch 日志的成功发送邮件的百分比。

    注意

    为消息传送状态配置应用程序属性后,所有失败的消息传送都会生成 CloudWatch 日志。

  8. 最后,选择保存配置。现在,您将能够查看和解析包含消息传送状态的 CloudWatch 日志。有关使用的更多信息 CloudWatch,请参阅CloudWatch文档

Amazon SNS 消息传输状态日志示例 CloudWatch

为应用程序终端节点配置消息传送状态属性后,将生成 CloudWatch 日志。示例日志采用 JSON 格式,如下所示:

SUCCESS

{ "status": "SUCCESS", "notification": { "timestamp": "2015-01-26 23:07:39.54", "messageId": "9655abe4-6ed6-5734-89f7-e6a6a42de02a" }, "delivery": { "statusCode": 200, "dwellTimeMs": 65, "token": "Examplei7fFachkJ1xjlqT64RaBkcGHochmf1VQAr9k-IBJtKjp7fedYPzEwT_Pq3Tu0lroqro1cwWJUvgkcPPYcaXCpPWmG3Bqn-wiqIEzp5zZ7y_jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HXrBf9dqaEw", "attempts": 1, "providerResponse": "{\"multicast_id\":5138139752481671853,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1422313659698010%d6ba8edff9fd7ecd\"}]}", "destination": "arn:aws:sns:us-east-2:111122223333:endpoint/FCM/FCMPushApp/c23e42de-3699-3639-84dd-65f84474629d" } }

FAILURE

{ "status": "FAILURE", "notification": { "timestamp": "2015-01-26 23:29:35.678", "messageId": "c3ad79b0-8996-550a-8bfa-24f05989898f" }, "delivery": { "statusCode": 8, "dwellTimeMs": 1451, "token": "examp1e29z6j5c4df46f80189c4c83fjcgf7f6257e98542d2jt3395kj73", "attempts": 1, "providerResponse": "NotificationErrorResponse(command=8, status=InvalidToken, id=1, cause=null)", "destination": "arn:aws:sns:us-east-2:111122223333:endpoint/APNS_SANDBOX/APNSPushApp/986cb8a1-4f6b-34b1-9a1b-d9e9cb553944" } }

有关推送通知服务响应代码的列表,请参阅平台响应代码

使用配置消息传送状态属性 AWS SDKs

AWS SDKs提供了多种语言版本,用于 APIs 在 Amazon SNS 中使用消息传送状态属性。

下面的 Java 示例显示了如何使用 SetPlatformApplicationAttributes API 为推送通知消息的消息传输状态配置应用程序属性。您可以对消息传输状态使用以下属性:SuccessFeedbackRoleArnFailureFeedbackRoleArnSuccessFeedbackSampleRateSuccessFeedbackRoleArnFailureFeedbackRoleArn属性用于向 Amazon SNS 授予代表您使用 CloudWatch 日志的写入权限。SuccessFeedbackSampleRate 属性用于指定成功传输消息的采样率百分比 (0-100)。配置该FailureFeedbackRoleArn属性后,所有失败的消息传送都会生成 CloudWatch 日志。

SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest = new SetPlatformApplicationAttributesRequest(); Map<String, String> attributes = new HashMap<>(); attributes.put("SuccessFeedbackRoleArn", "arn:aws:iam::111122223333:role/SNS_CWlogs"); attributes.put("FailureFeedbackRoleArn", "arn:aws:iam::111122223333:role/SNS_CWlogs"); attributes.put("SuccessFeedbackSampleRate", "5"); setPlatformApplicationAttributesRequest.withAttributes(attributes); setPlatformApplicationAttributesRequest.setPlatformApplicationArn("arn:aws:sns:us-west-2:111122223333:app/FCM/FCMPushApp"); sns.setPlatformApplicationAttributes(setPlatformApplicationAttributesRequest);

有关适用于 Java 的开发工具包的更多信息,请参阅 AWS SDK for Java入门指南

平台响应代码

下面是推送通知服务响应代码链接列表:

推送通知服务 响应代码
Amazon Device Messaging(ADM) 请参阅 ADM 文档中的响应格式
苹果推送通知服务 (APNs) 请参阅《本地和远程通知编程指南》 APNs中的 “与之通信” APNs 中的 HTTP/2 响应
Firebase Cloud Messaging (FCM) 请参阅 Firebase Cloud Messaging 文档中的下游消息错误响应代码
适用于 Windows Phone 的 Microsoft 推送通知服务 (MPNS) 请参阅 Windows 8 开发文档中的 Windows Phone 8 的推送通知服务响应代码
Windows 推送通知服务 (WNS) 请参阅 Windows 8 开发文档中推送通知服务请求和响应标头(Windows 运行时应用程序)中的“响应代码”。
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。