Mobile App-Attribute - Amazon Simple Notification Service

Mobile App-Attribute

Amazon Simple Notification Service (Amazon SNS) unterstützt die Protokollierung des Zustellungsstatus von Push-Benachrichtigungen. Nach der Konfiguration von Anwendungsattributen werden Protokolleinträge für Nachrichten, die von Amazon SNS an mobile Endpunkte gesendet wurden, an CloudWatch Logs übermittelt. Die Protokollierung des Zustellungsstatus von Nachrichten verhilft Ihnen zu besseren betrieblichen Einblicken, wie beispielsweise den Folgenden:

  • Sie erfahren, ob eine Push-Benachrichtigungsmitteilung von Amazon SNS an den Push-Benachrichtigungsservice zugestellt wurde.

  • Identifizieren Sie die Antwort, die vom Push-Benachrichtigungsservice an den Amazon SNS gesendet wurde.

  • Ermitteln Sie die dwell-Zeit der Nachricht (das Zeitfenster zwischen dem Zeitstempel der Veröffentlichung bis direkt vor der Übergabe an einen Push-Benachrichtigungsservice).

Verwenden Sie für die Konfiguration der Anwendungsattribute für den Zustellstatus von Nachrichten die AWS Management Console, AWS Software Development Kits (SDKs) oder eine Abfrage-API.

Konfigurieren der Attribute für den Zustellungsstatus der Nachricht mithilfe der AWS Management Console

  1. Melden Sie sich bei der Amazon-SNS-Konsole an.

  2. Wählen Sie im Navigationsbereich die Option Mobile (Mobil) und dann Push notifications (Push-Benachrichtigungen) aus.

  3. Wählen Sie aus dem Abschnitt Platform applications (Plattformapplikationen) die Anwendung, die die Endpunkte enthält, für die Sie CloudWatch Logs erhalten möchten.

  4. Wählen Sie Application Actions (Anwendungsaktionen) und anschließend Delivery status (Zustellungsstatus).

  5. Wählen Sie im Dialogfeld Delivery Status (Zustellungsstatus)die Option Create IAM Roles (IAM-Rollen erstellen).

    Sie werden anschließend zur IAM-Konsole umgeleitet.

  6. Wählen Sie Allow (Zulassen), um Amazon SNS in Ihrem Namen Schreibzugriff auf CloudWatch Logs zu gewähren.

  7. Kehren Sie nun zum Dialogfeld Delivery Status (Zustellungsstatus) zurück und geben Sie einen Wert in das Feld Percentage of Success to Sample (0-100) ((Erfolgsrate des Beispiels (0-100)) ein für den Prozentsatz der erfolgreich gesendeten Nachrichten, für die Sie CloudWatch Logs erhalten möchten.

    Anmerkung

    Nachdem Sie für den Zustellungsstatus der Nachrichten Anwendungsattribute konfiguriert haben, generieren alle fehlgeschlagenen Nachrichtenzustellungen CloudWatch Logs.

  8. Wählen Sie anschließend Save Configuration (Konfiguration speichern). Sie können nun CloudWatch Logs, das den Zustellungsstatus der Nachricht enthält, anzeigen und analysieren. Weitere Informationen zur Verwendung von CloudWatch finden Sie in der CloudWatch-Dokumentation.

Amazon SNS Nachrichtenzustellungsstatus CloudWatch Log Beispiele

Nachdem Sie für einen Anwendungsendpunkt Statusattribute für Nachrichtenübermittlungen konfiguriert haben, wird CloudWatch Logs generiert. Beispielprotokolle im JSON-Format werden wie folgt angezeigt:

ERFOLG

{ "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" } }

FEHLER

{ "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" } }

Eine Liste der Antwortcodes für den Push-Benachrichtigungsservice finden Sie unter Antwortcodes der Plattformen.

Konfigurieren der Statusattribute für Nachrichtenübermittlungen mit den AWS SDKs

Die AWS SDKs stellen APIs in verschiedenen Sprachen für die Verwendung von Statusattributen für Nachrichtenübermittlungen in Amazon SNS bereit.

Das folgende Java-Beispiel zeigt, wie Sie mit der SetPlatformApplicationAttributes-API Anwendungsattribute für den Status von Nachrichtenübermittlungen von Push-Benachrichtigungsmitteilungen konfigurieren. Sie können die folgenden Attribute für den Status von Nachrichtenübermittlungen verwenden: SuccessFeedbackRoleArnFailureFeedbackRoleArn und SuccessFeedbackSampleRate. Die Attribute SuccessFeedbackRoleArn und FailureFeedbackRoleArn werden dazu verwendet, um Amazon SNS in Ihrem Namen Schreibzugriff auf CloudWatch Logs zu gewähren. Das Attribut SuccessFeedbackSampleRate dient zum Festlegen des Prozentsatzes der Samplerate (0-100) der erfolgreich zugestellten Nachrichten. Nachdem Sie das Attribut FailureFeedbackRoleArn konfiguriert haben, generieren alle fehlgeschlagenen Zustellungen CloudWatch Logs.

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);

Weitere Informationen zu SDK für Java finden Sie unter Erste Schritte mit dem AWS SDK for Java.

Antwortcodes der Plattformen

Die folgende Liste enthält Links für die Antwortcodes des Push-Benachrichtigungsservice:

Push-Benachrichtigungsservice Antwortcodes
Amazon Device Messaging (ADM) Weitere Informationen finden Sie unter Antwortformat in der ADM Dokumentation.
Apple Push Notification Service (APNs) Weitere Informationen finden Sie unter HTTP/2 Response from APNs in Communicating with APNs im Local and Remote Notification Programming Guide.
Firebase Cloud Messaging (FCM) Weitere Informationen finden Sie unter Downstream Message Error Response Codes in der Firebase Cloud Messaging Dokumentation.
Microsoft Push Notification Service für Windows Phone (MPNS) Weitere Informationen finden Sie unter Push Notification Service Response Codes for Windows Phone 8 in der Windows 8 Development Dokumentation.
Windows Push Notification Services (WNS) Weitere Informationen finden Sie unter "Response codes" in Push Notification Service Request and Response Headers (Windows Runtime Apps) in der Windows 8 Development-Dokumentation.