Los atributos de la aplicación móvil - 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.

Los atributos de la aplicación móvil

Amazon Simple Notification Service (Amazon SNS) permite registrar el estado de entrega de los mensajes de notificaciones push. Una vez que haya configurado los atributos de aplicación, se envían entradas de log 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)

Para configurar los atributos de aplicación para el estado de entrega del mensaje, puede utilizar la herramientaAWS Management Console,AWSo 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 laConsola de Amazon SNS.

  2. En el panel de navegación, elijaMóvilHaga clic en y luego enNotificaciones push.

  3. Desde laAplicaciones de la plataforma, elija la aplicación que contiene los puntos de enlace para los que desea recibir los 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 le redirigirá a la consola de IAM.

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

  7. Ahora, de nuevo en elEstado de entrega, escriba un número en el cuadro de diálogoPorcentaje de éxito a la muestra (0-100)Para obtener el porcentaje de mensajes enviados correctamente para los que desea recibir los CloudWatch Logs.

    nota

    Después de configurar los atributos de aplicación del estado de entrega del mensaje, todas las entregas de mensaje que hayan resultado erróneas generarán un CloudWatch Logs

  8. Por último, elija Save Configuration (Guardar configuración). Ahora podrá ver y analizar los CloudWatch Logs que contienen el estado de entrega del mensaje. Para obtener más información acerca del uso de CloudWatch, consulte laDocumentación de CloudWatch.

Ejemplos de registro del estado de entrega de mensajes de Amazon SNS CloudWatch

Una vez que haya configurado los atributos de estado de entrega de 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

LaAWSSDK deProporcionan API en varios lenguajes para utilizar atributos de estado de entrega de los 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. LaSuccessFeedbackRoleArnyFailureFeedbackRoleArnLos atributos se utilizan para conceder a Amazon SNS acceso de escritura para utilizar los CloudWatch Logs en su nombre. El atributo SuccessFeedbackSampleRate permite especificar el porcentaje de la frecuencia de muestreo (0-100) de los mensajes entregados correctamente. Después de configurar elFailureFeedbackRoleArnA continuación, 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 acerca del SDK for Java, consulteIntroducción aAWS 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) ConsulteFormato de respuestaen la documentación de ADM.
Apple Push Notification Service (APN) 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.