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.
-
Riferimento chiave di Payload
nella documentazione APNs -
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 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 sualert
.-
Se il dizionario
aps
contienecontent-available
impostato su1
e una o più chiavi che attivano le interazioni dell'utente. -
Se il dizionario
aps
contienecontent-available
impostato su0
o se la chiavecontent-available
è assente. -
Se il valore della chiave
content-available
non è un numero intero o un valore booleano.
-
-
apns-push-type
è impostato subackground
.-
Se il dizionario
aps
contiene solocontent-available
impostato su1
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 dizionarioaps
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
.