翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SNS モバイルアプリの属性
Amazon Simple Notification Service (Amazon SNS) は、プッシュ通知メッセージの配信ステータスを記録するサポートを提供します。アプリケーション属性を設定すると、Amazon からモバイルエンドポイントに送信されるメッセージのログエントリが CloudWatch Logs SNS に送信されます。メッセージの配信ステータスを記録することは、以下のように運用をよりよく把握するのに役立ちます。
-
プッシュ通知メッセージが Amazon からプッシュ通知サービスSNSに配信されたかどうかを確認してください。
-
プッシュ通知サービスから Amazon に送信されたレスポンスを特定しますSNS。
-
メッセージのドウェル時間 (発行のタイムスタンプからプッシュ通知サービスへの配信直前までの時間) を決定します。
メッセージ配信ステータスのアプリケーション属性を設定するには、、 AWS ソフトウェア開発キット (SDKs) AWS Management Console、またはクエリ を使用できますAPI。
トピック
を使用したメッセージ配信ステータス属性の設定 AWS Management Console
-
Amazon SNSコンソール
にサインインします。 -
ナビゲーションパネルで [モバイル]、[プッシュ通知] を選択します。
-
プラットフォームアプリケーションセクションから、 CloudWatch ログを受信するエンドポイントを含むアプリケーションを選択します。
-
[アプリケーションアクション]、[配信ステータス] の順に選択します。
-
配信ステータスダイアログボックスで、IAMロールの作成 を選択します。
その後、IAMコンソールにリダイレクトされます。
-
許可 を選択して、ユーザーに代わって CloudWatch ログを使用するための Amazon SNS 書き込みアクセスを許可します。
-
ここで、配信ステータスダイアログボックスに戻り、 CloudWatch ログを受信する成功メッセージの割合をサンプル成功率 (0~100) フィールドに入力します。
注記
メッセージ配信ステータスのアプリケーション属性を設定すると、失敗したすべてのメッセージ配信によって CloudWatch ログが生成されます。
-
最後に、[設定の保存] を選択します。これで、メッセージ配信ステータスを含む 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
は、Amazon APIsでメッセージ配信ステータス属性を使用するための複数の言語でAWS SDKs
次の Java の例は、 SetPlatformApplicationAttributes
API を使用してプッシュ通知メッセージのメッセージ配信ステータスのアプリケーション属性を設定する方法を示しています。メッセージの配信ステータスには、SuccessFeedbackRoleArn
、FailureFeedbackRoleArn
、および SuccessFeedbackSampleRate
の属性を使用できます。SuccessFeedbackRoleArn
および FailureFeedbackRoleArn
属性は、ユーザーに代わって CloudWatch ログを使用するための Amazon SNS書き込みアクセス許可を付与するために使用されます。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);
SDK for Java の詳細については、「 の開始方法 AWS SDK for Java」を参照してください。
プラットフォームのレスポンスコード
以下は、プッシュ通知サービスのレスポンスコードへのリンクの一覧です。
プッシュ通知サービス | レスポンスコード |
---|---|
Amazon Device Messaging (ADM) | ADM ドキュメントの「レスポンス形式 |
Apple プッシュ通知サービス (APNs) | ローカルおよびリモート通知プログラミングガイドの「 との通信APNs |
Firebase クラウドメッセージング (FCM) | Firebase Cloud Messaging ドキュメントの「Downstream Message Error Response Codes |
Windows Phone 用 Microsoft プッシュ通知サービス (MPNS) | Windows 8 開発ドキュメントの「Push Notification Service Response Codes for Windows Phone 8 |
Windows プッシュ通知サービス (WNS) | Windows 8 開発ドキュメントで「Push Notification Service Request and Response Headers (Windows Runtime Apps) |