Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Publicar con cargas útiles específicas de la plataforma
Puede usar las AWS Management Console API de Amazon SNS para enviar mensajes personalizados con cargas útiles específicas de la plataforma a dispositivos móviles. Para obtener más información acerca del uso de las API de Amazon SNS, consulte Acciones de la API de inserción móvil y el archivo SNSMobilePush.java
en snsmobilepush.zip
.
Temas
Envío de mensajes con formato JSON
Cuando envíe cargas específicas de la plataforma, los datos deben tener un formato de cadenas de pares de clave-valor JSON, con las comillas incluidas entre caracteres de escape.
En los siguientes ejemplos, se muestra un mensaje personalizado para la plataforma de FCM.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"Hello\", \"body\": \"This is a test.\"}, \"data\": {\"dataKey\": \"example\"}}}}" }
Envío de mensajes específicos de la plataforma
Además de enviar datos personalizados como pares de clave-valor, puede enviar pares de clave-valor específicos de la plataforma.
En el siguiente ejemplo, se muestra la inclusión de los parámetros de time_to_live
y collapse_key
después de los pares clave-valor de datos personalizados en el parámetro data
de FCM.
{ "GCM": "{\"fcmV1Message\": {\"message\": {\"notification\": {\"title\": \"TitleTest\", \"body\": \"Sample message for Android or iOS endpoints.\"}, \"data\":{\"time_to_live\": 3600,\"collapse_key\":\"deals\"}}}}" }
Para obtener una lista de los pares de clave-valor admitidos en cada uno de los servicios de notificaciones push admitidos en Amazon SNS, consulte lo siguiente:
importante
Amazon SNS ahora es compatible con la API HTTP v1 de Firebase Cloud Messaging (FCM) para enviar notificaciones push móviles a dispositivos Android.
26 de marzo de 2024: Amazon SNS admite la API HTTP v1 de FCM para dispositivos Apple y destinos de Webpush. Te recomendamos migrar tus aplicaciones push móviles existentes a la última API HTTP v1 de FCM a más tardar el 1 de junio de 2024 para evitar interrumpir las aplicaciones.
-
Referencia de la clave de carga
en la documentación de APNs -
Protocolo HTTP de Firebase Cloud Messaging
en la documentación de FCM -
Enviar un mensaje
en la documentación de ADM
Envío de mensajes a una aplicación en varias plataformas
Para enviar un mensaje a una aplicación instalada en dispositivos de varias plataformas, como FCM y APNs, primero debe suscribir los puntos de enlace móviles a un tema de Amazon SNS y, a continuación, publicar el mensaje en el tema.
En el siguiente ejemplo, se muestra un mensaje que debe enviarse a puntos de enlace móviles suscritos en APNs, FCM y 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\"}}" }
Envío de mensajes a APNs como alertas o notificaciones en segundo plano
Amazon SNS puede enviar mensajes a APNs como notificaciones alert
o background
(para obtener más información, consulte Inserción de actualizaciones en segundo plano en su aplicación
-
Mediante una notificación de APNs
alert
, se informa al usuario al mostrar un mensaje de alerta, reproducir un sonido o agregar una insignia al icono de la aplicación. -
Se activa una notificación de APNs
background
o esta indica a la aplicación que actúe en función del contenido de la notificación, sin informar al usuario.
Especificación de valores de encabezado APNs personalizada
Recomendamos especificar valores personalizados para el atributo de mensaje AWS.SNS.MOBILE.APNS.PUSH_TYPE reservado mediante la acción de la Publish
API de Amazon SNS, AWS los SDK o el. AWS CLI En el siguiente ejemplo de la CLI content-available
se establece como 1
y background
como apns-push-type
para el tema 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
Inferencia del encabezado de tipo de push de APNs desde la carga
Si no establece el encabezado de APNs apns-push-type
, Amazon SNS establece el encabezado en alert
o background
según la clave content-available
en el diccionario de aps
de su configuración de carga de APNs con formato JSON.
nota
Amazon SNS se puede inferir solo en encabezados alert
o background
, aunque el encabezado apns-push-type
se puede establecer en otros valores.
-
apns-push-type
toma el valoralert
-
Si el diccionario
aps
contienecontent-available
defina en1
y una o varias claves que activan las interacciones del usuario. -
Si el diccionario
aps
contienecontent-available
defina en0
o si la clavecontent-available
está ausente. -
Si el valor de la clave
content-available
no es un entero o un booleano.
-
-
apns-push-type
toma el valorbackground
-
Si en el diccionario de
aps
solo se encuentracontent-available
establecida en1
y no hay otras claves que desencadenen interacciones del usuario.importante
Si Amazon SNS envía un objeto de configuración sin procesar para APNs como notificación solo en segundo plano, debe incluir el
content-available
definido en1
en el diccionario deaps
. Aunque puede incluir claves personalizadas, el diccionario deaps
no debe contener ninguna clave que desencadene las interacciones del usuario (por ejemplo, alertas, insignias o sonidos).
-
A continuación se muestra un ejemplo de objeto de configuración sin procesar.
{ "APNS": "{\"aps\":{\"content-available\":1},\"Foo1\":\"Bar\",\"Foo2\":123}" }
En este ejemplo, Amazon SNS establece el encabezado de APNs de apns-push-type
en background
para el mensaje. Cuando Amazon SNS detecta que en el diccionario de apn
se encuentra la clave de content-available
definida en 1
, pero no hay ninguna otra clave que pueda desencadenar las interacciones del usuario, establece el encabezado en background
.