View a markdown version of this page

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 le API Console di gestione AWS di Amazon SNS per inviare messaggi personalizzati con payload specifici della piattaforma ai dispositivi mobili. Per informazioni sull'utilizzo delle API Amazon SNS, consulta Operazioni API push per dispositivi mobili e il file SNSMobilePush.java in snsmobilepush.zip.

Invio di messaggi JSON-formatted

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 di Firebase Cloud Messaging (FCM) per l'invio di notifiche push mobili a 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 alla più recente API FCM HTTP v1 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 APN, devi prima effettuare la sottoscrizione degli endpoint mobili a un argomento in Amazon SNS e quindi pubblicare il messaggio nell'argomento.

L'esempio seguente mostra un messaggio da inviare agli endpoint mobili che hanno effettuato la sottoscrizione su APN, 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 APN come notifiche o notifiche in background

Amazon SNS può inviare messaggi ad APN come notifiche alert o background (per ulteriori informazioni, consulta Invio di aggiornamenti in background alla tua app nella documentazione APN).

  • Una notifica APN alert informa gli utenti visualizzando un messaggio di avviso, riproducendo un suono o aggiungendo un badge all'icona dell'applicazione.

  • Una notifica APN background si attiva o indica all'applicazione di agire sul contenuto della notifica, senza informare l'utente.

Specificare i valori di intestazione APN personalizzati

Consigliamo di specificare valori personalizzati per l'attributo del messaggio AWS.SNS.MOBILE.APNS.PUSH_TYPE riservato utilizzando l'azione Publish API Amazon SNS, AWS gli SDK o 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.

Indurre l'intestazione del tipo push APN dal payload

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

Nota

Amazon SNS può dedurre solo alert le intestazioni, sebbene l'backgroundintestazione possa essere impostata su altri valori. apns-push-type

  • 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 raw per APNA come notifica di solo sfondo, è necessario includere content-available impostato su 1 nel dizionario 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'intestazione APN apns-push-type su background per il messaggio. 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.