Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Establecer y administrar la prioridad de los mensajes

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Tiene dos opciones para asignar la prioridad de entrega a los mensajes descendentes en Android: prioridad normal y alta. La entrega de mensajes de prioridad normal y alta funciona así:

  • Prioridad normal. Esta es la prioridad predeterminada para los mensajes de datos . Los mensajes de prioridad normal se entregan inmediatamente cuando el dispositivo no está en reposo. Cuando el dispositivo está en modo Doze , la entrega puede retrasarse para conservar la batería hasta que el dispositivo salga del modo Doze. Para mensajes menos sensibles al tiempo, como notificaciones de nuevos correos electrónicos, mantener su interfaz de usuario sincronizada o sincronizar datos de aplicaciones en segundo plano, elija la prioridad de entrega normal.

    Cuando recibe un mensaje de prioridad normal en Android que solicita una sincronización de datos en segundo plano para su aplicación, puede programar una tarea con WorkManager para manejarla cuando la red esté disponible.

  • Alta prioridad. FCM intenta entregar mensajes de alta prioridad de inmediato, lo que permite que FCM active un dispositivo inactivo cuando sea necesario y ejecute un procesamiento limitado (incluido el acceso a la red muy limitado). Por lo general, los mensajes de alta prioridad deben generar una interacción del usuario con su aplicación o sus notificaciones.

Uso de mensajes de alta prioridad para Android

Los mensajes de alta prioridad en Android están destinados a contenido sensible al tiempo, visible para el usuario, y deberían generar notificaciones para el usuario. Si FCM detecta un patrón en el que los mensajes no generan notificaciones para el usuario, es posible que sus mensajes pierdan la prioridad normal. FCM usa 7 días de comportamiento de mensajes para determinar si se les quita prioridad a los mensajes; toma esta determinación de forma independiente para cada instancia de su aplicación. Si, en respuesta a los mensajes de alta prioridad, las notificaciones se muestran de forma visible para el usuario, sus futuros mensajes de alta prioridad no perderán prioridad. Esto se aplica ya sea que el SDK de FCM muestre la notificación a través de un mensaje de notificación o una notificación generada por el desarrollador a través de un mensaje de datos .

Medición de la despriorización de mensajes en Android

  • Mensajes individuales. En el momento de la entrega, puede determinar si se le quitó prioridad a un mensaje individual comparando su prioridad de entrega, de getPriority() , con su prioridad original, de getOriginalPriority()

  • Todos los mensajes. La API de datos de entrega agregada de FCM puede informar qué porcentaje de todos sus mensajes a Android se está perdiendo prioridad. Es posible que se omitan algunos mensajes de los informes de datos agregados, pero en general deberían brindar una visión global de las tasas de pérdida de prioridad de los mensajes. Consulte nuestro artículo sobre datos de entrega agregados para obtener más información y un código de muestra para consultar la API; también se puede explorar desde el explorador de API .

Solución de problemas

  • Asegúrese de que la instancia de su aplicación tenga habilitadas las notificaciones. Si el usuario ha deshabilitado el permiso de notificación para su aplicación, ninguna de sus notificaciones se publicará, como resultado, sus mensajes perderán prioridad. Debe verificar que las notificaciones estén habilitadas antes de enviar mensajes de alta prioridad a una instancia de la aplicación.

  • No llame a casa antes de publicar una notificación. Debido a que una pequeña parte de la población móvil de Android está en redes de alta latencia, evite abrir una conexión a sus servidores antes de mostrar una notificación. Volver a llamar al servidor antes de que finalice el tiempo de procesamiento permitido puede ser riesgoso para los usuarios en redes de alta latencia. En su lugar, incluya el contenido de la notificación en el mensaje de FCM y muéstrelo inmediatamente. Si necesita sincronizar contenido adicional en la aplicación en Android, puede programar una tarea con WorkManager para manejar eso en segundo plano.