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.
-
Payload Key Reference (Riferimento alla chiave di payload)
nella documentazione -
Firebase Cloud Messaging HTTP Protocol (Protocollo HTTP di Firebase Cloud Messaging)
nella documentazione . -
Invio di un messaggio
nella documentazione
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
-
Una notifica APN
alertinforma gli utenti visualizzando un messaggio di avviso, riproducendo un suono o aggiungendo un badge all'icona dell'applicazione. -
Una notifica APN
backgroundsi 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 sualert.-
Se il dizionario
apscontienecontent-availableimpostato su1e una o più chiavi che attivano le interazioni dell'utente. -
Se il dizionario
apscontienecontent-availableimpostato su0o se la chiavecontent-availableè assente. -
Se il valore della chiave
content-availablenon è un numero intero o un valore booleano.
-
-
apns-push-typeè impostato subackground.-
Se il dizionario
apscontiene solocontent-availableimpostato su1e 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-availableimpostato su1nel dizionarioaps. Sebbene sia possibile includere chiavi personalizzate, il dizionarioapsnon 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.