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.
Publicación de notificaciones de Amazon SNS con cargas útiles específicas de la plataforma
Puede usar Amazon SNS AWS Management Console o Amazon APIs para enviar mensajes personalizados con cargas útiles específicas de la plataforma a dispositivos móviles. Para obtener información sobre el uso de Amazon SNS APIs, consulte Acciones de la API de inserción móvil y el SNSMobilePush.java archivo en. snsmobilepush.zip
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 admite la API de HTTP v1 de Firebase Cloud Messaging (FCM) para enviar notificaciones push para móvil a dispositivos Android.
26 de marzo de 2024: Amazon SNS admite la API de HTTP v1 de FCM para dispositivos Apple y destinos de Webpush. Le recomendamos que migre sus aplicaciones de notificaciones push para el móvil existentes a la última API de HTTP v1 de FCM el 1 de junio de 2024 o antes para evitar que se interrumpan las aplicaciones.
-
Referencia clave de carga útil en la
documentación 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 para varias plataformas, como FCM y APNs, primero debes suscribir los puntos de enlace móviles a un tema de Amazon SNS y, a continuación, publicar el mensaje en el tema.
El siguiente ejemplo muestra un mensaje para enviar a los 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\"}}" }
Enviar mensajes APNs como alertas o notificaciones en segundo plano
Amazon SNS puede enviar mensajes a APNs as alert o background notificaciones (para obtener más información, consulte Cómo enviar actualizaciones en segundo plano a su aplicación
-
Una
alertAPNs notificación informa al usuario mediante la visualización de un mensaje de alerta, la reproducción de un sonido o la adición de una insignia al icono de la aplicación. -
Una
backgroundAPNs notificación activa o indica a la aplicación que actúe en función del contenido de la notificación, sin informar al usuario.
Especificar valores de encabezado personalizados APNs
Recomendamos especificar valores personalizados para el atributo de mensaje AWS.SNS.MOBILE.APNS.PUSH_TYPE reservado mediante la acción de la Publish API Amazon SNS AWS SDKs, o la. 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
nota
Asegúrese de que la estructura JSON sea válida. Añada una coma después de cada par de clave-valor, excepto en el último.
Deducir el encabezado del tipo APNs push a partir de la carga útil
Si no establece el apns-push-type APNs encabezado, Amazon SNS establece el encabezado en alert o en background función de la content-available clave del aps diccionario de la configuración de carga con formato JSON. APNs
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-typetoma el valoralert-
Si el diccionario
apscontienecontent-availabledefina en1y una o varias claves que activan las interacciones del usuario. -
Si el diccionario
apscontienecontent-availabledefina en0o si la clavecontent-availableestá ausente. -
Si el valor de la clave
content-availableno es un entero o un booleano.
-
-
apns-push-typetoma el valorbackground-
Si en el diccionario de
apssolo se encuentracontent-availableestablecida en1y no hay otras claves que desencadenen interacciones del usuario.importante
Si Amazon SNS envía un objeto de configuración sin procesar APNs como notificación solo en segundo plano, debes incluir
content-availableset to1en el diccionario.apsAunque puede incluir claves personalizadas, el diccionario deapsno 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 apns-push-type APNs encabezado del mensaje en. background 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.