Pubblicazione di notifiche Amazon SNS con payload specifici della piattaforma - Amazon Simple Notification Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Pubblicazione di notifiche Amazon SNS con payload specifici della piattaforma

Puoi utilizzare Amazon SNS APIs per inviare messaggi personalizzati con payload specifici della piattaforma ai dispositivi mobili. AWS Management Console Per informazioni sull'uso di Amazon SNS APIs, consulta Operazioni API push per dispositivi mobili e inserisci il SNSMobilePush.java file. snsmobilepush.zip

Invio di messaggi in formato JSON

Quando si inviano payload specifici della piattaforma, i dati devono essere stringhe coppia chiave-valore in formato JSON, con virgolette doppie con carattere di escape.

I seguenti esempi mostrano un messaggio personalizzato per la piattaforma FCM .

{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"Hello\", \"body\": \"This is a test.\"}, \"data\": {\"dataKey\": \"example\"}}}}" }

Invio di messaggi specifici della piattaforma

Oltre a inviare dati personalizzati come coppie chiave-valore, è possibile inviare coppie chiave-valore specifiche per la piattaforma.

L'esempio seguente mostra l'inclusione dei parametri FCM time_to_live e collapse_key dopo le coppie chiave-valore dei dati personalizzate nel parametro FCM data.

{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"TitleTest\", \"body\": \"Sample message for Android or iOS endpoints.\"}, \"data\":{\"time_to_live\": 3600,\"collapse_key\":\"deals\"}}}}" }

Per l'elenco delle coppie chiave-valore supportate in ciascuno dei servizi di notifica push supportati in Amazon SNS, consulta i collegamenti seguenti:

Importante

Amazon SNS ora supporta l'API HTTP v1 Firebase Cloud Messaging (FCM) per l'invio di notifiche push mobili ai dispositivi Android.

26 marzo 2024 — Amazon SNS supporta l'API HTTP v1 FCM per dispositivi Apple e destinazioni Webpush. Ti consigliamo di migrare le tue applicazioni push mobili esistenti all'ultima API HTTP v1 di FCM entro il 1° giugno 2024 per evitare interruzioni delle applicazioni.

Invio di messaggi a un'applicazione su più piattaforme

Per inviare un messaggio a un'applicazione installata su dispositivi per più piattaforme, come FCM e APNs, devi prima sottoscrivere gli endpoint mobili a un argomento in Amazon SNS e quindi pubblicare il messaggio sull'argomento.

L'esempio seguente mostra un messaggio da inviare agli endpoint mobili sottoscritti su APNs FCM e ADM:

{ "default": "This is the default message which must be present when publishing a message to a topic. The default message will only be used if a message is not present for one of the notification platforms.", "APNS": "{\"aps\":{\"alert\": \"Check out these awesome deals!\",\"url\":\"www.amazon.com\"} }", "GCM": "{\"data\":{\"message\":\"Check out these awesome deals!\",\"url\":\"www.amazon.com\"}}", "ADM": "{\"data\":{\"message\":\"Check out these awesome deals!\",\"url\":\"www.amazon.com\"}}" }

Invio di messaggi a notifiche di avviso o in APNs background

Amazon SNS può inviare messaggi ad APNs annunci alert o background notifiche (per ulteriori informazioni, consulta Pushing Background Updates to Your App nella APNs documentazione).

  • Una alert APNs notifica informa l'utente visualizzando un messaggio di avviso, riproducendo un suono o aggiungendo un badge all'icona dell'applicazione.

  • Una background APNs notifica si attiva o indica all'applicazione di agire in base al contenuto della notifica, senza informare l'utente.

Specificazione di valori di intestazione personalizzati APNs

Ti consigliamo di specificare valori personalizzati per l'attributo del messaggio AWS.SNS.MOBILE.APNS.PUSH_TYPE riservato utilizzando l'azione dell'API Amazon Publish SNS o AWS SDKs il. AWS CLI Il seguente esempio di CLI imposta content-available su 1 e apns-push-type su background per l'argomento specificato.

aws sns publish \ --endpoint-url https://sns.us-east-1.amazonaws.com \ --target-arn arn:aws:sns:us-east-1:123456789012:endpoint/APNS_PLATFORM/MYAPP/1234a567-bc89-012d-3e45-6fg7h890123i \ --message '{"APNS_PLATFORM":"{\"aps\":{\"content-available\":1}}"}' \ --message-attributes '{ \ "AWS.SNS.MOBILE.APNS.TOPIC":{"DataType":"String","StringValue":"com.amazon.mobile.messaging.myapp"}, \ "AWS.SNS.MOBILE.APNS.PUSH_TYPE":{"DataType":"String","StringValue":"background"}, \ "AWS.SNS.MOBILE.APNS.PRIORITY":{"DataType":"String","StringValue":"5"}}' \ --message-structure json
Nota

Assicurati che la struttura JSON sia valida. Aggiungi una virgola dopo ogni coppia chiave-valore, tranne l'ultima.

Dedurre l'intestazione del tipo di APNs push dal payload

Se non imposti l'apns-push-type APNs intestazione, Amazon SNS imposta l'intestazione su background o in base alert alla chiave nel dizionario della configurazione content-available del payload in aps formato JSON. APNs

Nota

Amazon SNS è in grado di dedurre solo le intestazioni alert o background, anche se l'intestazione apns-push-type può essere impostata su altri valori.

  • apns-push-type è impostato su alert.

    • Se il dizionario aps contiene content-available impostato su 1 e una o più chiavi che attivano le interazioni dell'utente.

    • Se il dizionario aps contiene content-available impostato su 0 o se la chiave content-available è assente.

    • Se il valore della chiave content-available non è un numero intero o un valore booleano.

  • apns-push-type è impostato su background.

    • Se il dizionario aps contiene solo content-available impostato su 1 e nessun'altra chiave che attiva le interazioni dell'utente.

      Importante

      Se Amazon SNS invia un oggetto di configurazione non elaborato APNs come notifica solo in background, devi includere content-available set to nel dizionario. 1 aps Sebbene sia possibile includere chiavi personalizzate, il dizionario aps non deve contenere chiavi che attivino interazioni dell'utente (ad esempio avvisi, badge o suoni).

Di seguito è riportato un esempio di oggetto configurazione non elaborato.

{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"Bar\",\"Foo2\":123}" }

In questo esempio, Amazon SNS imposta l'apns-push-type APNs intestazione del messaggio su. background Quando Amazon SNS rileva che il dizionario apn contiene la chiave content-available impostata su 1 e non contiene altre chiavi che possono attivare interazioni utente imposta l'intestazione su background.