Arquitetura de software · Comunicação · 6 min de leitura
Notificações push: como funcionam
O seu servidor não fala direto com o celular: entrega a mensagem ao FCM (Android) ou ao APNs (Apple), que mantêm a conexão com o aparelho e decidem quando entregar.
Arraste para o lado para ver o diagrama inteiro.
O caminho
- O app pede permissão (obrigatória no iOS e, desde o Android 13, também no Android —
POST_NOTIFICATIONS). - Registra-se no FCM/APNs e recebe um token que identifica aquele app naquele aparelho.
- Envia o token ao seu servidor, associado ao usuário (uma pessoa pode ter vários aparelhos).
- Para notificar, o servidor chama a API do FCM ou do APNs com o token e a mensagem.
Na web, o mesmo papel é do Web Push (RFC 8030), com service worker e chaves VAPID.
Tipos de mensagem
- De notificação: o sistema mostra título e texto mesmo com o app fechado.
- De dados: chega ao código do app, que decide o que fazer (atualizar um item, sincronizar).
- O conteúdo é pequeno (cerca de 4 KB no FCM e no APNs): mande o ID e deixe o app buscar o resto.
- Collapse key/
apns-collapse-id: só a última mensagem do mesmo assunto aparece (placar do jogo, não 40 avisos).
Cuidados
- Entrega não garantida nem imediata: economia de bateria pode atrasar; não use push como único canal de algo crítico.
- Tokens mudam: atualize no servidor a cada novo token e apague os que o FCM/APNs informam como inválidos.
- Peça a permissão no contexto (“avisar quando o pedido sair?”), não na primeira tela — negada, é difícil recuperar.
- Respeite preferências, horário de silêncio e não envie dados sensíveis no texto: ele aparece na tela bloqueada.
Em resumo
- O envio passa sempre pelo FCM ou pelo APNs.
- Token por app e por aparelho, guardado no servidor.
- Mensagem pequena: mande o ID, não o conteúdo.
- Entrega não é garantida; tokens expiram.
- Peça permissão no momento certo.
Perguntar à IA
Monte um prompt pronto sobre Notificações push: como funcionam na sua linguagem e no seu caso, e abra num chat gratuito.
O prompt vai para o site que você escolher. Não cole senhas, tokens nem dados reais de clientes. Para Gemini e outros, copie e cole.