Verwenden des Nachrichtenattributs Time To Live (TTL) von Amazon SNS für Mobile-Push-Benachrichtigungen - Amazon Simple Notification Service

Verwenden des Nachrichtenattributs Time To Live (TTL) von Amazon SNS für Mobile-Push-Benachrichtigungen

Amazon Simple Notification Service (Amazon SNS) unterstützt das Festlegen eines Time To Live (TTL)-Nachrichtenattributs für Mobile Push-Benachrichtigungen. Dies ist eine Ergänzung der vorhandenen Funktion, TTL im Amazon SNS-Nachrichtentext für die mobilen Push-Benachrichtigungs-Services zu definieren, die dies unterstützen, z. B. Amazon Device Messaging (ADM) und Firebase Cloud Messaging (FCM).

Das TTL-Nachrichtenattribut wird verwendet, um Ablauf-Metadaten über eine Nachricht anzugeben. So können Sie die Zeit festlegen, die dem Push-Benachrichtigungs-Service wie z. B. Apple Push Notification Service (APNs) oder FCM zur Verfügung steht, um die Nachricht an den Endpunkt zu übermitteln. Wenn die Nachricht aus irgendwelchen Gründen (z. B. bei Ausschalten des Mobilgeräts) innerhalb des angegebenen TTL nicht zustellbar ist, wird die Nachricht gelöscht und es werden keine weiteren Zustellversuche unternommen. Um den TTL in den Nachrichtenattributen anzugeben, können Sie die AWS Management Console, die AWS-SDKs oder die Abfrage-API verwenden.

TTL-Nachrichtenattribute für Push-Benachrichtigungsservices

Die folgende Liste enthält die TTL-Nachrichtenattribute für die Push-Benachrichtigungsservices, die Sie bei Einsatz der AWS-SDKs oder Abfrage-API verwenden können:

Push-Benachrichtigungsservice TTL-Nachrichtenattribut
Amazon Device Messaging (ADM) AWS.SNS.MOBILE.ADM.TTL
Apple Push Notification Service (APNs) AWS.SNS.MOBILE.APNS.TTL
Apple Push Notification Service Sandbox (APNs_SANDBOX) AWS.SNS.MOBILE.APNS_SANDBOX.TTL
Baidu Cloud Push (Baidu) AWS.SNS.MOBILE.BAIDU.TTL
Firebase Cloud Messaging (FCM) AWS.SNS.MOBILE.FCM.TTL
Windows Push Notification Services (WNS) AWS.SNS.MOBILE.WNS.TTL

Jeder Push-Benachrichtigungsservice geht anders mit TTL um. Amazon SNS bietet eine abstrakte Ansicht des TTL über alle Push-Benachrichtigungsservices, was das Festlegen des TTL erleichtert. Wenn Sie die AWS Management Console verwenden, um den TTL (in Sekunden) anzugeben, müssen Sie den TTL-Wert nur einmal eingeben und Amazon SNS berechnet dann den TTL für jeden der ausgewählten Push-Benachrichtigungsservices bei Veröffentlichung der Nachricht.

Der TTL ist relativ zum Veröffentlichungszeitpunkt. Bevor eine Push-Benachrichtigung an einen bestimmten Push-Benachrichtigungsservice übergeben wird, berechnet Amazon SNS die dwell-Zeit (die Zeit zwischen dem Veröffentlichungszeitstempel und unmittelbar vor der Übergabe an einen Push-Benachrichtigungsservice) für die Push-Benachrichtigung und leitet den verbleibenden TTL an den betreffenden Push-Benachrichtigungsservice weiter. Wenn der TTL kürzer ist als die dwell-Zeit, versucht Amazon SNS keine Veröffentlichung.

Wenn Sie einen TTL-Wert für eine Push-Benachrichtigung angeben, muss dieser Wert eine positive Ganzzahl sein, es sei denn, der Wert 0 hat für den Push-Benachrichtigungsservice eine spezifische Bedeutung, wie z. B. bei APNs und FCM. Wenn der TTL-Wert auf 0 festgelegt ist und der Push-Benachrichtigungsservice für 0 keine spezifische Bedeutung vorsieht, wird die Nachricht von Amazon SNS verworfen. Weitere Informationen zum TTL-Parameter mit dem Wert 0 bei Verwendung von APNs finden Sie unter Table A-3 Item identifiers for remote notifications in der Dokumentation Binary Provider API.

Rangfolge bei der Bestimmung von TTL

Die Rangfolge, die Amazon SNS zur Bestimmung des TTL-Werts für eine Push-Benachrichtigung verwendet, basiert auf der folgenden Reihenfolge, wobei die niedrigste Zahl die höchste Priorität hat:

  1. TTL-Nachrichtenattribut

  2. TTL-Nachrichtentext

  3. Standard-TTL des Push-Benachrichtigungsservice (variiert je nach Service)

  4. Standard-TTL von Amazon SNS (4 Wochen)

Wenn Sie für die gleiche Nachricht verschiedene TTL-Werte festlegen (einen in den Nachrichtenattributen und einen anderen im Nachrichtentext), ändert Amazon SNS den TTL im Nachrichtentext so, dass er dem in dem Nachrichtenattribut angegebenen TTL-Wert entspricht.

Festlegen der TTL 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 auf der Seite Mobile push notifications (Mobile Push-Benachrichtigungen) im Abschnitt Platform applications (Plattformanwendungen) eine Anwendung aus.

  4. Wählen Sie auf der Seite MyApplication im Bereich Endpoints (Endpunkte) einen Anwendungsendpunkt und anschließend Publish message (Nachricht veröffentlichen) aus.

  5. Geben Sie im Abschnitt Message details (Nachrichtendetails) die TTL ein (die Anzahl an Sekunden, die dem Push-Benachrichtigungs-Service zur Verfügung stehen, um die Nachricht an den Endpunkt zu übermitteln).

  6. Wählen Sie Publish message (Nachricht veröffentlichen).