As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Publicação com cargas úteis específicas da plataforma
Você pode usar as AWS Management Console APIs do Amazon SNS para enviar mensagens personalizadas com cargas específicas da plataforma para dispositivos móveis. Para obter informações sobre a utilização das APIs do Amazon SNS, consulte Ações da API de push para dispositivos móveis e o arquivo SNSMobilePush.java
em snsmobilepush.zip
.
Tópicos
Enviar mensagens formatadas em JSON
Ao enviar cargas específicas à plataforma, os dados devem estar formatados como strings de par de chave/valor JSON, com aspas em sequência de escape.
Os exemplos a seguir mostram uma mensagem personalizada para a plataforma do FCM.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"Hello\", \"body\": \"This is a test.\"}, \"data\": {\"dataKey\": \"example\"}}}}" }
Enviar mensagens específicas à plataforma
Além de enviar dados personalizados como pares de chave/valor, é possível enviar pares de chave/valor específicos à plataforma.
O exemplo a seguir mostra a inclusão dos parâmetros time_to_live
e collapse_key
do FCM depois dos pares de chave/valor de dados personalizados no parâmetro data
do FCM.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"TitleTest\", \"body\": \"Sample message for Android or iOS endpoints.\"}, \"data\":{\"time_to_live\": 3600,\"collapse_key\":\"deals\"}}}}" }
Para obter uma lista dos pares de chave/valor compatíveis em cada um dos serviços de notificação push compatíveis com o Amazon SNS, consulte o seguinte:
Importante
O Amazon SNS agora oferece suporte à API HTTP v1 do Firebase Cloud Messaging (FCM) para enviar notificações push móveis para dispositivos Android.
26 de março de 2024 — O Amazon SNS oferece suporte à API HTTP v1 do FCM para dispositivos Apple e destinos Webpush. Recomendamos que você migre seus aplicativos push móveis existentes para a API HTTP v1 mais recente do FCM até 1º de junho de 2024 para evitar interrupções nos aplicativos.
-
Payload Key Reference
(“Referência de chave da carga útil”) na documentação do APNs -
Protocolo HTTP do Firebase Cloud Messaging
na documentação do FCM -
Send a Message
(“Enviar uma mensagem”) na documentação do ADM
Enviar mensagens para um aplicativo em várias plataformas
Para enviar uma mensagem para uma aplicação instalada em dispositivos para várias plataformas, como o FCM e o APNs, deverá primeiro será necessário inscrever os endpoints móveis em um tópico do Amazon SNS e depois publicar a mensagem no tópico.
O exemplo seguinte mostra uma mensagem a ser enviada para endpoints móveis inscritos no APNs, no FCM e no 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\"}}" }
Enviar mensagens para o APNs como notificações de alerta ou de segundo plano
O Amazon SNS pode enviar mensagens para o APNs como notificações de alert
ou de background
(para obter mais informações, consulte Pushing Background Updates to Your App
-
Uma notificação de
alert
do APNs informa o usuário exibindo uma mensagem de alerta, reproduzindo um som ou adicionando um distintivo ao ícone da aplicação. -
Uma notificação de
background
do APNs desperta ou instrui sua aplicação a agir em relação ao conteúdo da notificação, sem informar o usuário.
Especificar valores personalizados do cabeçalho do APNs
Recomendamos especificar valores personalizados para o atributo de mensagem AWS.SNS.MOBILE.APNS.PUSH_TYPE reservada usando a ação da API do Amazon Publish
SNS AWS , SDKs ou o. AWS CLI O exemplo da CLI a seguir define content-available
como 1
e apns-push-type
como background
para o tópico especificado.
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
Inferir o cabeçalho do tipo de push do APNs da carga útil
Se você não definir o cabeçalho apns-push-type
do APNs, o Amazon SNS definirá o cabeçalho como alert
ou background
, dependendo da chave content-available
no dicionário aps
da configuração de carga útil do APNs formatada em JSON.
nota
O Amazon SNS é capaz de inferir somente os cabeçalhos alert
ou background
, embora o cabeçalho apns-push-type
possa ser definido com outros valores.
-
apns-push-type
é definido comoalert
-
Se o dicionário
aps
contivercontent-available
definida como1
e uma ou mais chaves que acionem interações do usuário. -
Se o dicionário
aps
contivercontent-available
definida como0
ou se a chavecontent-available
estiver ausente. -
Se o valor da chave
content-available
não for um inteiro ou um booliano.
-
-
apns-push-type
é definido comobackground
-
Se o dicionário
aps
contiver somente a variávelcontent-available
definida como1
e nenhuma outra chave que acione interações com o usuário.Importante
Se o Amazon SNS enviar um objeto de configuração bruto para o APNs como uma notificação somente de segundo plano, será necessário incluir o
content-available
definido como1
no dicionárioaps
. Embora você possa incluir chaves personalizadas, o dicionárioaps
não deve conter chaves que acionem interações do usuário (por exemplo, alertas, distintivos ou sons).
-
Veja a seguir um exemplo de objeto de configuração bruto.
{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"Bar\",\"Foo2\":123}" }
Neste exemplo, o Amazon SNS define o cabeçalho apns-push-type
do APNs para a mensagem como background
. Quando o Amazon SNS detecta que o dicionário apn
contém a chave content-available
definida como 1
e não contém nenhuma outra chave que possa acionar interações do usuário, ele define o cabeçalho como background
.