El tráfico de red que envían los programas de servidor a tu app podría ser difícil de optimizar. Una solución a este problema es que tu app sondee periódicamente el servidor para buscar actualizaciones. Sin embargo, este método puede desperdiciar conexión de red y batería cuando la app inicia la radio de un dispositivo solo para recibir como respuesta que no hay datos nuevos disponibles. Un método más eficiente sería que el servidor le notifique a tu app cuando tenga datos nuevos; no obstante, resolver cómo enviar notificaciones desde tu servidor a un posible total de miles de dispositivos solía ser una tarea compleja.
Para solucionar este problema de comunicación, el servicio Firebase Cloud Messaging (FCM) permite que tus servidores envíen notificaciones a instancias de tu app en los dispositivos en los que se instalen, lo que mejora la eficiencia de red y disminuye el consumo de batería.
En esta lección, se explica cómo aplicar el servicio de FCM para reducir el uso de red de las acciones iniciadas por el servidor y disminuir el consumo de batería.
Envía actualizaciones del servidor con FCM
Firebase Cloud Messaging (FCM) es un mecanismo liviano que permite transmitir mensajes breves desde un servidor de apps a tu app. Con FCM, tu servidor de apps usa un mecanismo de transmisión de mensajes para notificarle a tu app que hay nuevos datos disponibles. Este método elimina el tráfico de red que realizaría tu app, ya que no se comunica con un servidor de backend para obtener datos nuevos cuando no hay datos disponibles.
Un ejemplo de uso de FCM es una app que enumera las sesiones de oradores en una conferencia. Cuando se actualizan las sesiones en tu servidor, este envía un breve mensaje a tu app para indicarle que hay actualizaciones disponibles. Entonces, tu app llamará al servidor para actualizar las sesiones en el dispositivo solo cuando este tenga datos nuevos.
Tener FCM es más eficiente que hacer que la app busque cambios en el servidor. Este servicio elimina conexiones innecesarias en las que las consultas no darían como resultado actualizaciones y, además, evita las solicitudes de red periódicas que podrían causar la activación de la radio de un dispositivo. Como muchas apps pueden usar FCM, implementarlo en la tuya reducirá la cantidad de conexiones de red necesarias de un dispositivo y permitirá que su radio se mantenga inactiva con mayor frecuencia.