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
alertAPNs notificação informa o usuário exibindo uma mensagem de alerta, reproduzindo um som ou adicionando um selo ao ícone do seu aplicativo. -
Uma
backgroundAPNs 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
apscontivercontent-availabledefinida como1e uma ou mais chaves que acionem interações do usuário. -
Se o dicionário
apscontivercontent-availabledefinida como0ou se a chavecontent-availableestiver ausente. -
Se o valor da chave
content-availablenão for um inteiro ou um booliano.
-
-
apns-push-typeé definido comobackground-
Se o dicionário
apscontiver somente a variávelcontent-availabledefinida como1e 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-availableset to no dicionário.1apsEmbora você possa incluir chaves personalizadas, o dicionárioapsnã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.