Atributos de aplicaciones móviles - Amazon Simple Notification Service

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.

Atributos de aplicaciones móviles

Con Amazon Simple Notification Service (Amazon SNS), se puede registrar el estado de entrega de los mensajes de notificaciones push. Después de configurar los atributos de las aplicaciones, se envían entradas de registro a CloudWatch Logs para los mensajes enviados desde Amazon SNS a puntos de enlace móviles. El log del estado de entrega de los mensajes aporta información operativa de mejor calidad, como la siguiente:

  • Saber si Amazon SNS ha entregado un mensaje de notificación push al servicio de notificaciones push.

  • Identificar la respuesta enviada por el servicio de notificaciones push a Amazon SNS.

  • Determinar el tiempo de permanencia del mensaje (el tiempo entre la marca temporal de publicación y justo antes de entregarlo a un servicio de notificaciones push)

Con el fin de configurar los atributos de las aplicaciones para el estado de entrega de los mensajes, puede utilizar la AWS Management Console, los kits de desarrollo de software (SDK) de AWS o la API de consultas.

Configuración de los atributos del estado de entrega de los mensajes mediante la AWS Management Console

  1. Inicie sesión en la consola de Amazon SNS.

  2. En el panel de navegación, elija Móvil y, a continuación, Notificaciones push.

  3. Desde la sección Aplicaciones de plataforma, elija la aplicación en la que se encuentran los puntos de enlace para los que desea recibir CloudWatch Logs.

  4. Elija Application Actions (Acciones de la aplicación) y después Delivery Status (Estado de entrega).

  5. En el cuadro de diálogo Delivery Status (Estado de entrega), elija Create IAM Roles (Crear roles de IAM).

    Se lo redirigirá a la consola de IAM.

  6. Elija Permitir para conceder a Amazon SNS acceso de escritura para utilizar CloudWatch Logs en su nombre.

  7. Ahora, vuelva al cuadro de diálogo Estado de entrega e ingrese un número en el campo Porcentaje de resultados correctos de la muestra (0-100) a fin de indicar el porcentaje de mensajes enviados de forma correcta para los que desea recibir CloudWatch Logs.

    nota

    Una vez que haya configurado los atributos de las aplicaciones para el estado de entrega de los mensajes, todas las entregas de mensajes que hayan resultado erróneas generarán CloudWatch Logs.

  8. Por último, elija Save Configuration (Guardar configuración). Ahora podrá ver y analizar los CloudWatch Logs en los que se encuentra el estado de entrega de los mensajes. Para obtener más información sobre el uso de CloudWatch, consulte la documentación de CloudWatch.

Ejemplos de CloudWatch Logs del estado de entrega de los mensajes de Amazon SNS

Una vez que haya configurado los atributos del estado de entrega de los mensajes para el punto de enlace de una aplicación, se generarán CloudWatch Logs. A continuación, se muestran registros de ejemplo en formato JSON:

SUCCESS

{ "status": "SUCCESS", "notification": { "timestamp": "2015-01-26 23:07:39.54", "messageId": "9655abe4-6ed6-5734-89f7-e6a6a42de02a" }, "delivery": { "statusCode": 200, "dwellTimeMs": 65, "token": "Examplei7fFachkJ1xjlqT64RaBkcGHochmf1VQAr9k-IBJtKjp7fedYPzEwT_Pq3Tu0lroqro1cwWJUvgkcPPYcaXCpPWmG3Bqn-wiqIEzp5zZ7y_jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HXrBf9dqaEw", "attempts": 1, "providerResponse": "{\"multicast_id\":5138139752481671853,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1422313659698010%d6ba8edff9fd7ecd\"}]}", "destination": "arn:aws:sns:us-east-2:111122223333:endpoint/FCM/FCMPushApp/c23e42de-3699-3639-84dd-65f84474629d" } }

FAILURE

{ "status": "FAILURE", "notification": { "timestamp": "2015-01-26 23:29:35.678", "messageId": "c3ad79b0-8996-550a-8bfa-24f05989898f" }, "delivery": { "statusCode": 8, "dwellTimeMs": 1451, "token": "examp1e29z6j5c4df46f80189c4c83fjcgf7f6257e98542d2jt3395kj73", "attempts": 1, "providerResponse": "NotificationErrorResponse(command=8, status=InvalidToken, id=1, cause=null)", "destination": "arn:aws:sns:us-east-2:111122223333:endpoint/APNS_SANDBOX/APNSPushApp/986cb8a1-4f6b-34b1-9a1b-d9e9cb553944" } }

Para obtener una lista de códigos de respuesta del servicio de notificaciones push, consulte Códigos de respuesta de la plataforma.

Configuración de atributos del estado de entrega de mensajes con los SDK de AWS

Con los SDK de AWS, se ofrecen API en varios lenguajes para utilizar atributos de estado de entrega de mensajes con Amazon SNS.

El ejemplo de Java siguiente muestra cómo utilizar la API SetPlatformApplicationAttributes para configurar atributos de las aplicaciones para el estado de entrega de los mensajes de notificaciones de inserción. Puede utilizar los atributos siguientes para el estado de entrega de los mensajes: SuccessFeedbackRoleArn, FailureFeedbackRoleArn y SuccessFeedbackSampleRate. Gracias a los atributos SuccessFeedbackRoleArn y FailureFeedbackRoleArn, se puede conceder a Amazon SNS acceso de escritura para utilizar CloudWatch Logs en su nombre. El atributo SuccessFeedbackSampleRate permite especificar el porcentaje de la frecuencia de muestreo (0-100) de los mensajes entregados correctamente. Una vez configurado el atributo FailureFeedbackRoleArn, todas las entregas de mensajes erróneas generarán CloudWatch Logs.

SetPlatformApplicationAttributesRequest setPlatformApplicationAttributesRequest = new SetPlatformApplicationAttributesRequest(); Map<String, String> attributes = new HashMap<>(); attributes.put("SuccessFeedbackRoleArn", "arn:aws:iam::111122223333:role/SNS_CWlogs"); attributes.put("FailureFeedbackRoleArn", "arn:aws:iam::111122223333:role/SNS_CWlogs"); attributes.put("SuccessFeedbackSampleRate", "5"); setPlatformApplicationAttributesRequest.withAttributes(attributes); setPlatformApplicationAttributesRequest.setPlatformApplicationArn("arn:aws:sns:us-west-2:111122223333:app/FCM/FCMPushApp"); sns.setPlatformApplicationAttributes(setPlatformApplicationAttributesRequest);

Para obtener más información sobre el SDK para Java, consulte Introducción a AWS SDK for Java.

Códigos de respuesta de la plataforma

A continuación se incluye una lista de enlaces de códigos de respuesta del servicio de notificaciones push:

Servicio de notificaciones de inserción Códigos de respuesta
Amazon Device Messaging (ADM) Consulte Formato de respuesta en la documentación de ADM.
Apple Push Notification Service (APNs) Consulte Respuesta HTTP/2 de APN en Comunicación con APN en la Guía de programación de notificaciones locales y remotas.
Firebase Cloud Messaging (FCM) Consulte Códigos de respuesta de errores de mensajes descendentes en la documentación de Firebase Cloud Messaging.
Servicio de notificaciones push de Microsoft para Windows Phone (MPNS) Consulte Push Notification Service Response Codes for Windows Phone 8 en la documentación de desarrollo de Windows 8.
Servicios de notificación push de Windows (WNS) Consulte "Response codes" en Push Notification Service Request and Response Headers (Windows Runtime Apps) en la documentación de desarrollo de Windows 8.