Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Optimiza el uso de red iniciado por el servidor

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 Google Cloud Messaging (GCM) 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 GCM 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 GCM

Google Cloud Messaging (GCM) es un mecanismo liviano que permite transmitir mensajes breves desde un servidor de apps a tu app. Con GCM, 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 GCM es una app que enumera las sesiones de orladores 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 GCM 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 GCM, 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.

Para obtener más información sobre GCM y cómo implementarlo en tu app, consulta Google Cloud Messaging.

Nota: Si usas GCM, tu app puede pasar mensajes en prioridad normal o alta. En general, el servidor debe usar la prioridad normal para enviar mensajes. De esta manera, impide que se activen los dispositivos si están inactivos o en el modo de bajo consumo Descanso. Solo usa mensajes de alta prioridad si es estrictamente necesario.