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á.
Publicar notificações do Amazon SNS com cargas úteis específicas da plataforma
Você pode usar o AWS Management Console Amazon SNS APIs para enviar mensagens personalizadas com cargas específicas da plataforma para dispositivos móveis. Para obter informações sobre o uso do Amazon SNS APIs, consulte Ações da API de push para dispositivos móveis e o SNSMobilePush.java
arquivo em. snsmobilepush.zip
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 suas aplicações móveis por push existentes para a API mais recente do FCM HTTP v1 até 1º de junho de 2024 para evitar interrupções nas aplicações.
-
Referência da chave de carga útil
na documentação 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 um aplicativo instalado em dispositivos de várias plataformas, como o FCM e APNs, você deve primeiro inscrever os endpoints móveis em um tópico no Amazon SNS e depois publicar a mensagem no tópico.
O exemplo a seguir mostra uma mensagem para enviar aos endpoints móveis inscritos no FCM APNs 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\"}}" }
Envio de mensagens APNs como alerta ou notificações em segundo plano
O Amazon SNS pode enviar mensagens para APNs as alert
ou background
notificações (para obter mais informações, consulte Enviando atualizações em segundo plano para seu aplicativo na APNs documentação
-
Uma
alert
APNs notificação informa o usuário exibindo uma mensagem de alerta, reproduzindo um som ou adicionando um selo ao ícone do seu aplicativo. -
Uma
background
APNs notificação ativa ou instrui seu aplicativo a agir de acordo com o conteúdo da notificação, sem informar o usuário.
Especificando valores de APNs cabeçalho personalizados
Recomendamos especificar valores personalizados para o atributo de mensagem AWS.SNS.MOBILE.APNS.PUSH_TYPE reservada usando a ação AWS SDKs da API do Amazon Publish
SNS 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
nota
Certifique-se de que a estrutura JSON seja válida. Adicione uma vírgula após cada par chave-valor, exceto o último.
Inferindo o cabeçalho do tipo APNs push a partir da carga
Se você não definir o apns-push-type
APNs cabeçalho, o Amazon SNS define o cabeçalho como alert
ou background
dependendo da content-available
chave no aps
dicionário da sua configuração de carga em formato JSON APNs .
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 APNs como uma notificação somente em segundo plano, você deverá incluir
content-available
set to no dicionário.1
aps
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 apns-push-type
APNs cabeçalho da 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
.