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.