Pular para o conteúdo

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.

App → FCM / APNs: registraregistra1App → Seu servidor: envia o tokenenvia o token2Seu servidor → Tokens3Seu servidor → FCM / APNs: mensagem + tokenmensagem + token4FCM / APNs → App: entregaentrega5App — pede permissãoApppede permissãoFCM / APNs — conexão com o aparelhoFCM / APNsconexão com o aparelhoSeu servidor — guarda tokensSeu servidorguarda tokensTokens — usuário → aparelhosTokensusuário → aparelhos

Arraste para o lado para ver o diagrama inteiro.

O sistema operacional mantém uma única conexão econômica para todos os apps; por isso o envio passa sempre pelo FCM ou pelo APNs.

O caminho

  1. O app pede permissão (obrigatória no iOS e, desde o Android 13, também no Android — POST_NOTIFICATIONS).
  2. Registra-se no FCM/APNs e recebe um token que identifica aquele app naquele aparelho.
  3. Envia o token ao seu servidor, associado ao usuário (uma pessoa pode ter vários aparelhos).
  4. 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

Perguntar à IA

Monte um prompt pronto sobre Notificações push: como funcionam na sua linguagem e no seu caso, e abra num chat gratuito.

ChatGPT Claude Perplexity

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.

Referências

Continue aprendendo

Todos os temas de arquitetura de software →