Cómo minimizar el efecto de las actualizaciones regulares

La frecuencia óptima de las actualizaciones regulares variará según el estado del dispositivo, la conectividad de la red, el comportamiento del usuario y las preferencias explícitas del usuario.

En Cómo optimizar la duración de la batería, se analiza cómo compilar apps que hagan un uso eficaz de la batería y que modifiquen la frecuencia de actualización en función del estado del dispositivo host. Por ejemplo, que inhabiliten las actualizaciones del servicio en segundo plano cuando se pierda la conectividad y reduzcan la tasa de actualizaciones cuando el nivel de la batería sea bajo.

En esta lección, se analiza cómo puedes variar la frecuencia de actualización para mitigar mejor el efecto de las actualizaciones en segundo plano en la máquina de estado de radio inalámbrica subyacente.

Cómo usar Firebase Cloud Messaging como alternativa al sondeo

Cada vez que la app sondea el servidor para verificar si se requiere una actualización, se activa la radio inalámbrica, lo que consume batería sin necesidad de hacerlo, durante un máximo de 20 segundos en una conexión 3G típica.

Firebase Cloud Messaging (FCM) es un mecanismo básico utilizado para transmitir datos desde un servidor a una instancia de app en particular. Con FCM, el servidor puede notificar a la app en ejecución en un dispositivo en particular que hay nuevos datos disponibles para ella.

En comparación con el sondeo, donde la app debe hacer ping de forma regular en el servidor para consultar nuevos datos, este modelo basado en eventos permite que la app cree una nueva conexión solo cuando sepa que hay datos para descargar. El modelo minimiza las conexiones innecesarias y reduce la latencia, ya que actualiza la información dentro de tu app.

FCM se implementa utilizando una conexión TCP/IP persistente. Si bien es posible implementar tu propio servicio push, es mejor usar FCM. Esto minimiza el número de conexiones persistentes y permite que la plataforma optimice el ancho de banda y minimice el impacto asociado con la vida útil de la batería.

Herramientas de programación de red

Si la app requiere sondeo, la plataforma Android proporciona varias herramientas para ayudarte a crear una agenda eficiente para completar las tareas de red, como el sondeo. Para obtener más información sobre el uso de estas herramientas, consulta la Guía para el procesamiento en segundo plano.