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 SNS notifiche Amazon con payload specifici della piattaforma
Puoi utilizzare Amazon AWS Management Console o Amazon SNS APIs per inviare messaggi personalizzati con payload specifici della piattaforma ai dispositivi mobili. Per informazioni sull'utilizzo di Amazon SNSAPIs, consulta APIAzioni push per dispositivi mobili e allega il SNSMobilePush.java
filesnsmobilepush.zip
.
Argomenti
Invio JSON di messaggi in formato
Quando inviate payload specifici per una piattaforma, i dati devono essere formattati come stringhe di coppie JSON chiave-valore, senza virgolette.
Gli esempi seguenti 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 FCM parametri time_to_live
e collapse_key
dopo le coppie chiave-valore dei dati personalizzati nel FCM data
parametro.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"TitleTest\", \"body\": \"Sample message for Android or iOS endpoints.\"}, \"data\":{\"time_to_live\": 3600,\"collapse_key\":\"deals\"}}}}" }
Per un elenco delle coppie chiave-valore supportate da ciascuno dei servizi di notifica push supportati in AmazonSNS, consulta quanto segue:
Importante
Amazon SNS ora supporta Firebase Cloud Messaging (FCM) HTTP v1 API per l'invio di notifiche push mobili a dispositivi Android.
26 marzo 2024: Amazon SNS supporta la versione FCM HTTP 1 API per i dispositivi Apple e le destinazioni Webpush. Ti consigliamo di migrare le tue applicazioni push mobili esistenti all'ultima versione FCM HTTP v1 entro il API 1° giugno 2024 per evitare interruzioni delle applicazioni.
-
Riferimento chiave di Payload
nella documentazione APNs -
Firebase Cloud Messaging HTTP Protocol
nella documentazione FCM -
Invia un messaggio
nella documentazione ADM
Invio di messaggi a un'applicazione su più piattaforme
Per inviare un messaggio a un'applicazione installata su dispositivi per più piattaforme, ad esempio FCM eAPNs, devi prima sottoscrivere gli endpoint mobili a un argomento in Amazon SNS e poi pubblicare il messaggio sull'argomento.
L'esempio seguente mostra un messaggio da inviare agli endpoint mobili abbonati suAPNs, 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 APNs di avviso o in background
Amazon SNS può inviare messaggi APNs ad annunci alert
o background
notifiche (per ulteriori informazioni, consulta Pushing Background Updates to Your App
-
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.
Specificare i valori di intestazione APNs personalizzati
Ti consigliamo di specificare valori personalizzati per l'attributo del messaggio AWS.SNS.MOBILE.APNS.PUSH_TYPE riservato utilizzando l'SNSPublish
APIazione Amazon o il AWS CLI. AWS SDKs L'CLIesempio seguente imposta content-available
1
e imposta apns-push-type
background
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
Assicuratevi che la JSON struttura 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
APNsintestazione, Amazon SNS imposta l'intestazione su alert
o in background
base alla content-available
chiave nel aps
dizionario della tua configurazione del payload in JSON formatoAPNs.
Nota
Amazon SNS è in grado di dedurre solo alert
le background
intestazioni, sebbene l'apns-push-type
intestazione possa 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 to1
nel dizionario.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
APNsintestazione del messaggio subackground
. Quando Amazon SNS rileva che il apn
dizionario contiene la content-available
chiave impostata su 1
e non contiene altre chiavi in grado di attivare le interazioni con l'utente, imposta l'intestazione su. background