Administración de terminales de Firebase Cloud Messaging (FCM) - 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.

Administración de terminales de Firebase Cloud Messaging (FCM)

Administración y mantenimiento de los tokens de los dispositivos

Puedes garantizar la capacidad de entrega de las notificaciones push de tu aplicación móvil siguiendo estos pasos:

  1. Guarde todos los tokens del dispositivo, el SNS punto ARNs de conexión de Amazon correspondiente y las marcas de tiempo en el servidor de aplicaciones.

  2. Elimine todos los tokens obsoletos y elimine el SNS punto ARNs de conexión de Amazon correspondiente.

Cuando la aplicación se inicie por primera vez, recibirá un token de dispositivo (también denominado token de registro) para el dispositivo. Este token de dispositivo lo crea el sistema operativo del dispositivo y está vinculado a tu FCM aplicación. Una vez que recibas este token de dispositivo, podrás registrarlo en Amazon SNS como punto final de la plataforma. Te recomendamos que guardes el token del dispositivo, el punto ARN de conexión de la SNS plataforma Amazon y la marca de tiempo guardándolos en tu servidor de aplicaciones o en otro almacén persistente. Para configurar tu FCM aplicación para recuperar y almacenar los tokens de los dispositivos, consulta Cómo recuperar y almacenar los tokens de registro en la documentación de Firebase de Google.

Es importante que up-to-date mantengas los tokens. Los tokens del dispositivo de tu usuario pueden cambiar en las siguientes condiciones:

  1. La aplicación móvil se restaura en un dispositivo nuevo.

  2. El usuario desinstala o actualiza la aplicación.

  3. El usuario borra los datos de la aplicación.

Cuando el token de tu dispositivo cambie, te recomendamos que actualices el SNS punto de conexión de Amazon correspondiente con el nuevo token. Esto permite SNS a Amazon continuar la comunicación con el dispositivo registrado. Puede hacerlo implementando el siguiente pseudocódigo en su aplicación móvil. Describe una práctica recomendada para crear y mantener puntos finales de plataforma habilitados. Este enfoque se puede ejecutar cada vez que se inician las aplicaciones móviles o como un trabajo programado en segundo plano.

Pseudocódigo

Use el siguiente FCM pseudocódigo para administrar y mantener los tokens de los dispositivos.

retrieve the latest token from the mobile OS if (endpoint arn not stored) # first time registration call CreatePlatformEndpoint store returned endpoint arn endif call GetEndpointAttributes on the endpoint arn if (getting attributes encountered NotFound exception) #endpoint was deleted call CreatePlatformEndpoint store returned endpoint arn else if (token in endpoint does not match latest) or (GetEndpointAttributes shows endpoint as disabled) call SetEndpointAttributes to set the latest token and enable the endpoint endif endif

Para obtener más información sobre los requisitos de actualización de los tokens, consulta Cómo actualizar los tokens de forma periódica en la documentación de Firebase de Google.

¿Detectando tokens no válidos

Cuando se envíe un mensaje a un punto final de la FCM versión 1 con un token de dispositivo no válido, Amazon SNS recibirá una de las siguientes excepciones:

  • UNREGISTERED(HTTP404) — Cuando Amazon SNS reciba esta excepción, recibirás un error en la entrega con un identificador FailureType de InvalidPlatformToken o y un token FailureMessage de plataforma asociado al punto final no será válido. Amazon SNS inhabilitará el punto de conexión de tu plataforma cuando se produzca un error en una entrega, con esta excepción.

  • INVALID_ARGUMENT(HTTP400) — Cuando Amazon SNS recibe esta excepción, significa que el token del dispositivo o la carga del mensaje no son válidos. Para obtener más información, consulta la ErrorCodedocumentación de Firebase de Google.

Como se INVALID_ARGUMENT puede devolver en cualquiera de estos casos, Amazon SNS devolverá un FailureType o el cuerpo FailureMessage de la notificación no es válido. InvalidNotification Cuando recibas este error, comprueba que la carga útil es correcta. Si es correcto, comprueba que el token del dispositivo lo sea up-to-date. Amazon no SNS inhabilitará el punto de conexión de tu plataforma cuando se produzca un error en una entrega, con esta excepción.

Otro caso en el que se producirá un error en la InvalidPlatformToken entrega es cuando el token de dispositivo registrado no pertenezca a la aplicación que intenta enviar ese mensaje. En este caso, Google devolverá un error SENDER_ID_ MISMATCH. Amazon SNS inhabilitará el punto de conexión de tu plataforma cuando se produzca un error en una entrega, con esta excepción.

Todos los códigos de error detectados en FCM la versión 1 API están disponibles CloudWatch cuando configuras el registro del estado de entrega de tu aplicación.

Para recibir los eventos de entrega de su solicitud, consulteEventos de aplicaciones disponibles.

Eliminar los tokens obsoletos

Los tokens se consideran obsoletos una vez que la entrega de mensajes al dispositivo terminal comienza a fallar. Amazon SNS establece estos tokens obsoletos como puntos de enlace inhabilitados para la aplicación de su plataforma. Cuando publiques en un punto de enlace desactivado, Amazon SNS devolverá un EventDeliveryFailure evento con el signo FailureType de EndpointDisabled y un punto FailureMessage de conexión of estará desactivado. Para recibir los eventos de entrega de su aplicación, consulteEventos de aplicaciones disponibles.

Cuando recibas este error de AmazonSNS, tendrás que eliminar o actualizar el token obsoleto en la aplicación de tu plataforma.