Uma mágica que tem explicação

Você fecha um aplicativo, coloca o celular no bolso e minutos depois ele vibra com uma mensagem nova. O aplicativo estava fechado, você não estava usando, mas a notificação chegou na hora certa. Como o celular sabe que algo aconteceu em um aplicativo que não está rodando?

O aplicativo fechado não significa desligado

O primeiro ponto importante é entender o que significa fechar um aplicativo no celular. Quando você sai de um app ou desliza ele para fora da tela, ele não é encerrado da mesma forma que um programa de computador que você fecha completamente. Ele entra em um estado de suspensão onde não aparece na tela e não consome processamento ativo, mas ainda existe na memória do sistema em segundo plano.

Mesmo assim isso não explica completamente como a notificação chega, porque um aplicativo suspenso também não está monitorando ativamente o que acontece nos servidores da empresa por trás dele.

Os servidores que trabalham enquanto você não usa

A chave para entender as notificações está nos servidores da empresa por trás do aplicativo. Quando alguém te manda uma mensagem no WhatsApp, por exemplo, essa mensagem chega primeiro nos servidores do WhatsApp, não diretamente no seu celular. O servidor recebe a mensagem e precisa avisar o seu celular que algo novo chegou.

Para fazer isso sem precisar que o aplicativo esteja aberto e monitorando constantemente, os sistemas operacionais modernos criaram um serviço de notificações push. No Android esse serviço é operado pelo Google e no iPhone pela Apple. É um canal de comunicação permanente entre o celular e os servidores dessas empresas que fica ativo o tempo todo, consumindo pouquíssima bateria e dados.

Como o canal permanente funciona

Quando você instala um aplicativo e permite que ele envie notificações, ele se registra nesse serviço central de notificações do sistema operacional. A partir daí quando o servidor do aplicativo quer avisar seu celular sobre algo novo, ele não faz isso diretamente. Ele envia uma instrução para o serviço de notificações do Google ou da Apple, que por sua vez entrega a mensagem ao celular.

Esse modelo centralizado é eficiente porque em vez de cada aplicativo manter uma conexão permanente com seus próprios servidores, o que multiplicaria o consumo de bateria e dados, existe apenas uma conexão permanente entre o celular e o serviço central. Todos os aplicativos usam esse mesmo canal compartilhado para receber notificações.

Por que algumas notificações chegam com atraso

Se o sistema é tão eficiente, por que às vezes uma notificação demora para chegar? Existem algumas razões práticas para isso. Quando o celular está sem sinal ou com conexão instável, a comunicação com o serviço de notificações é interrompida e as notificações ficam enfileiradas para serem entregues quando a conexão for restabelecida.

Configurações de economia de bateria também podem atrasar notificações. Quando o celular entra em modo de economia agressiva, o sistema pode reduzir a frequência com que verifica e entrega notificações para preservar energia. Alguns fabricantes implementam restrições próprias nesse sentido que vão além do padrão do sistema operacional, o que explica por que o mesmo aplicativo pode se comportar de forma diferente em celulares de marcas distintas.

O preço invisível das notificações

Cada notificação que você recebe representa uma pequena quantidade de dados trafegando em segundo plano e uma pequena fração da bateria sendo consumida. Individualmente o impacto é desprezível, mas quando você tem dezenas de aplicativos com permissão de notificação o efeito acumulado começa a ser perceptível tanto no consumo de dados quanto na autonomia da bateria.

Revisar quais aplicativos têm permissão para enviar notificações e desativar essa permissão nos que raramente geram algo útil é um ajuste simples que melhora a autonomia do celular e reduz as interrupções desnecessárias no dia a dia. A maioria das pessoas se surpreende com a quantidade de aplicativos que têm essa permissão ativa sem nunca terem sido conscientemente autorizados.

Para continuar entendendo

Se esse tema fez sentido, vale seguir com:

Tecnologia não precisa ser complicada. Quando você entende o básico, até uma notificação silenciosa esconde uma conversa entre servidores do outro lado do mundo.