Pubblicazione di SNS notifiche Amazon 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 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.

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.

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 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.

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'SNSPublishAPIazione 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

Dedurre l'intestazione del tipo di APNs push dal payload

Se non imposti l'apns-push-typeAPNsintestazione, 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-typeintestazione possa 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 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'apns-push-typeAPNsintestazione 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