Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A otimização do tráfego de rede enviado por programas de servidor para seu app
pode ser desafiadora. Uma solução para esse problema é quando seu app pesquisa regularmente o
servidor para conferir se existem atualizações. Essa abordagem pode desperdiçar a conexão e
a energia da rede quando o app inicia o rádio de um dispositivo apenas para receber a resposta de que
não há nenhum dado novo. A opção de o servidor notificar seu app quando há novos dados
é muito mais eficiente, mas descobrir como enviar uma
notificação do seu servidor para até milhares de dispositivos
não era uma tarefa fácil.
O serviço Firebase Cloud Messaging (FCM) resolve esse problema de comunicação
permitindo que seus servidores enviem notificações para instâncias do app onde quer que
estejam instaladas. Isso aumenta a eficiência da rede e diminui o consumo de
energia.
Esta lição ensina como usar o serviço FCM para reduzir o uso da rede para
ações iniciadas pelo servidor e reduzir o consumo da bateria.
Enviar atualizações de servidor com o FCM
O Firebase Cloud Messaging (FCM) é um mecanismo leve usado para transmitir mensagens
curtas de um servidor de aplicativos para seu app. Com o FCM, seu servidor de apps usa um
mecanismo de transmissão de mensagens para notificar seu app de que há novos dados disponíveis.
Essa abordagem elimina o tráfego de rede que seu app teria, uma vez que não
há contato com um servidor de back-end quando não há dados disponíveis.
Um exemplo de uso do FCM é um app que lista sessões de palestrantes em uma conferência.
Quando as sessões são atualizadas no servidor, ele envia uma breve mensagem para
o app informando que há atualizações disponíveis. Assim, o app poderá chamar o servidor para
atualizar as sessões no dispositivo apenas quando houver novos dados.
O FCM é mais eficiente do que fazer seu app verificar se há mudanças no servidor. O
serviço FCM elimina conexões desnecessárias em que a pesquisa não retorna
atualizações. Além disso, ele evita a execução de solicitações periódicas de rede que podem ligar
o rádio de um dispositivo. Como o FCM pode ser usado em muitos apps, a opção de usá-lo
reduz o número total de conexões de rede necessárias em um dispositivo e
permite que o rádio fique suspenso com mais frequência.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]