Cómo optimizar el uso de red iniciado por el servidor
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Optimize server-initiated network use\n\nNetwork traffic sent by server programs to your app can be challenging to\noptimize. A solution to this problem is for your app to periodically poll the\nserver to check for updates. This approach can waste network connection and\npower when your app starts up a device's radio, only to receive an answer that\nno new data is available. A far more efficient approach would be for the server\nto notify your app when it has new data, but figuring out how to send a\nnotification from your server to potentially thousands of devices was previously\nno easy feat.\n\nThe Firebase Cloud Messaging (FCM) service solves this communication problem by\nallowing your servers to send notifications to instances of your app wherever\nthey are installed, enabling greater network efficiency and lowering power\nusage.\n\nThis lesson teaches you how to apply the FCM service to reduce network use for\nserver-initiated actions and reduce battery consumption.\n\nSend server updates with FCM\n----------------------------\n\nFirebase Cloud Messaging (FCM) is a lightweight mechanism used to transmit brief\nmessages from an app server to your app. Using FCM, your app server uses a\nmessage-passing mechanism to notify your app that there is new data available.\nThis approach eliminates network traffic that your app would perform, by not\ncontacting a backend server for new data when no data is available.\n\nAn example use of FCM is an app that lists speaker sessions at a conference.\nWhen sessions are updated on your server, the server sends a brief message to\nyour app telling it updates are available. Your app can then call the server to\nupdate the sessions on the device only when the server has new data.\n\nFCM is more efficient than having your app poll for changes on the server. The\nFCM service eliminates unnecessary connections where polling would return no\nupdates, and it avoids running periodic network requests that could cause a\ndevice's radio to power up. Since FCM can be used by many apps, using it in your\napp reduces the total number of network connections needed on a device and\nallows the device radio to sleep more often.\n| **Note:** When using FCM, your app can pass messages in normal or high priority. Your server should typically use normal priority to deliver messages. Using this priority level prevents devices from being woken up if they are inactive and in a low-power Doze state. Use high priority messages only if absolutely required."]]