Notificações Push no desenvolvimento móvel: essência, tipos e como funcionam

Autor: IT Sectr Publicado: 2026-03-15 Tempo de leitura: 9 min

As notificações push são uma das formas mais eficazes de interagir com o usuário após a instalação do aplicativo. Elas permitem notificar sobre uma nova mensagem, desconto, atualização de conteúdo ou lembrar sobre um carrinho abandonado. Notificações push (push notifications) funcionam através de serviços em nuvem: Firebase Cloud Messaging (FCM) no Android e Apple Push Notification Service (APNS) no iOS. Neste artigo, analisaremos a arquitetura das notificações, seus tipos e o processo de configuração para ambas as plataformas. Mais informações na documentação oficial do FCM.

Pontos principais

  • FCM — serviço universal para Android e iOS (através do proxy APNS)
  • APNS — serviço nativo da Apple para iOS, macOS, watchOS
  • Rich Notifications contêm conteúdo de mídia (imagens, botões, áudio) via App Extensions
  • Silent Push atualiza dados em segundo plano sem mostrar ao usuário
  • Device Token — identificador único do dispositivo; deve ser armazenado e atualizado no servidor
  • Notification Channels (Android) e Notification Categories (iOS) — agrupamento e configuração de notificações pelo usuário

O que são notificações push?

Uma notificação push é uma mensagem que o servidor envia para um dispositivo móvel sem uma solicitação do aplicativo. A mensagem passa por um serviço em nuvem (FCM ou APNS), que a entrega ao dispositivo mesmo se o aplicativo estiver fechado. As notificações são divididas em dois tipos: notificações de exibição (mostradas ao usuário) e notificações de dados (transmitem dados para processamento em segundo plano).

A arquitetura de notificações push inclui três componentes: (1) o servidor do aplicativo — envia uma solicitação para FCM/APNS; (2) o serviço em nuvem — roteia a notificação; (3) o aplicativo cliente — recebe e processa a notificação. O servidor deve conhecer o Device Token do dispositivo para enviar uma notificação especificamente para ele. Para envios em massa, usa-se Topic Subscription — assinatura de dispositivos em canais temáticos (notícias, promoções, clima).

Em cada dispositivo, as notificações são processadas pelo sistema operacional: Android — através de NotificationManager e NotificationChannel, iOS — através de UNUserNotificationCenter. O usuário pode configurar o comportamento das notificações para cada canal: permitir som, banners, exibição na tela de bloqueio ou desativar completamente. A configuração adequada dos canais aumenta o engajamento e reduz as taxas de cancelamento de inscrição.

Na IT Sectr, projetamos o sistema de notificações push levando em consideração as características específicas da plataforma desde o início. Decisões principais: escolha entre FCM e APNS direto, formato do payload, frequência de envio e mecânica de assinaturas. Isso ajuda a evitar situações em que as notificações não chegam ou são bloqueadas pelo sistema.

FCM vs APNS

Firebase Cloud Messaging (FCM) é o serviço multiplataforma do Google para entrega de notificações. O FCM suporta Android, iOS, Web e Flutter. No iOS, o FCM funciona através do APNS: o FCM envia uma solicitação para o APNS, que entrega a notificação ao dispositivo. Vantagens do FCM: API única para ambas as plataformas, análise integrada, testes A/B, tópicos e segmentos de público.

Apple Push Notification Service (APNS) é o serviço nativo da Apple. Funciona apenas em dispositivos Apple (iOS, macOS, watchOS, tvOS). Requer autorização direta através de certificado TLS ou token (JWT). O APNS fornece latência mínima de entrega e integração direta com recursos do iOS: PushKit, Notification Service Extension e Alertas críticos.

A escolha entre FCM e APNS depende da arquitetura do projeto. Se o aplicativo é apenas para iOS — o APNS oferece mais controle. Se é multiplataforma — o FCM é mais conveniente com uma API única. Muitos projetos usam o FCM como serviço principal e configuram adicionalmente o PushKit para VoIP no iOS. Uma abordagem híbrida permite obter o melhor de ambos os sistemas.

Característica FCM APNS
PlataformasAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
AutorizaçãoServer Key (Firebase Console)Certificado TLS ou token JWT
Payload máximo4 KB (data), 2 KB (notification)4 KB
TópicosIntegrados (Topic Messaging)Não (implementados no servidor)
Silent PushSuportadoSuportado (content-available)
PushKitNãoSim (VoIP, live activities)
AnalíticaFirebase AnalyticsNão integrada
Entrega em dispositivo desligadoLimitada (depende do fabricante)Sim, via PushKit

Tipos de notificações (Rich, Silent, Interactive)

Rich Notification (Notificação rica)

Uma Rich Notification é uma notificação que contém não apenas texto, mas também conteúdo de mídia: imagens, vídeos, áudio e botões de ação. No Android, é implementada através de estilos NotificationCompat: BigPictureStyle (imagem grande), BigTextStyle (texto recolhido/expandido), InboxStyle (lista de mensagens), MediaStyle (controle de reprodução). No iOS, usa-se Notification Content Extension — um target separado com UI personalizada para a notificação expandida.

Silent Push (Notificação silenciosa)

Silent Push (content-available no iOS) é uma notificação entregue sem ser exibida ao usuário. Destina-se à atualização de dados em segundo plano: sincronização de conteúdo, pré-carregamento, atualização de widgets. No iOS, o Silent Push requer a ativação de Background Modes → Remote notifications. No Android, usa-se FirebaseMessagingService com onMessageReceived para lidar com notificações em segundo plano. Importante: no iOS, o Silent Push tem limitações de frequência e não garante a entrega se o aplicativo não estiver em primeiro plano.

Interactive Notification (Notificação interativa)

Uma Interactive Notification permite que o usuário realize uma ação sem abrir o aplicativo. No Android, são botões (Action) na notificação: "Responder", "Aprovar", "Rejeitar". As ações são processadas via PendingIntent, que lança um BroadcastReceiver ou Service. No iOS, Notification Action é registrada através de UNNotificationAction e UNNotificationCategory. Os botões podem ser foreground (abre o aplicativo), background (executa em segundo plano) ou destructive (ação irreversível — excluir, bloquear).

Notification Content Extension e Service Extension

Notification Content Extension (iOS) — um controlador de visualização personalizado para exibir conteúdo estendido da notificação ao pressionar longamente ou com 3D Touch. Notification Service Extension (iOS) — middleware para modificar o conteúdo da notificação antes da exibição: descriptografar mensagens E2E, carregar imagens, ofuscar dados confidenciais. No Android, não há análogos diretos — todas as modificações são realizadas em FirebaseMessagingService.

Configuração de notificações no Android e iOS

Configuração no Android

Para Android, é necessário: (1) adicionar o Firebase SDK ao projeto (google-services.json); (2) criar um NotificationChannel (Android 8+) para cada categoria de notificações; (3) implementar FirebaseMessagingService para receber tokens e mensagens recebidas. Notification Channel é obrigatório — sem ele, as notificações não serão exibidas no Android 8+. Os canais têm prioridade (IMPORTANCE_HIGH — som + popup, IMPORTANCE_LOW — sem som) e são configuráveis pelo usuário nas configurações do sistema.

Configuração no iOS

Para iOS, é necessário: (1) ativar a capacidade Push Notifications no Xcode; (2) configurar a chave APNS no Apple Developer Portal; (3) solicitar autorização através de UNUserNotificationCenter.requestAuthorization — esta é uma caixa de diálogo do sistema que é mostrada uma vez. A resposta do usuário é crítica: se a permissão não for concedida, as notificações não serão entregues. Recomenda-se explicar ao usuário por que as notificações são necessárias antes de mostrar a caixa de diálogo do sistema (pre-permission prompt).

Ferramentas e Token

Device Token (iOS) e Registration Token (Android) são identificadores únicos do dispositivo para notificações push. O token é gerado na primeira inicialização do aplicativo e pode mudar: ao reinstalar, limpar dados ou redefinir configurações de privacidade. O servidor deve atualizar os tokens regularmente. O Firebase fornece uma API conveniente para gerenciamento de tokens através de onNewToken, bem como um painel para envio de notificações de teste (Firebase Console → Cloud Messaging).

Topic Subscription é um dos mecanismos mais eficazes do FCM. Um dispositivo se inscreve em um tópico (por exemplo, "news", "promo_users_ios") e o servidor envia notificações por tópico sem precisar armazenar uma lista de tokens. Firebase Topics suporta até um milhão de inscritos por tópico e envio condicional (Condition) através de uma linguagem de expressão: "'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload é a estrutura JSON enviada através de FCM/APNS. Para FCM: notification separada (parte visível — título, corpo, imagem) e data (campos personalizados para o aplicativo). Para APNS: dicionário aps com alert, badge, sound, category e content-available. A estrutura correta do payload é crítica: se notification + data chegarem simultaneamente, o aplicativo em segundo plano pode não receber os dados. Recomenda-se usar apenas mensagens data para Android e passar os campos visuais separadamente através do FCM Console.

Perguntas frequentes

Qual é a diferença entre FCM e APNS?

FCM (Firebase Cloud Messaging) é o serviço do Google para Android e notificações multiplataforma. APNS (Apple Push Notification Service) é o serviço da Apple apenas para iOS/macOS. O FCM pode entregar notificações através do APNS no iOS, atuando como um servidor proxy.

O que é uma Rich Notification?

Uma Rich Notification é uma notificação aprimorada com conteúdo de mídia: imagens, vídeos, áudio, botões de ação. No iOS, é implementada através de Notification Content Extension; no Android, através de BigPictureStyle e InboxStyle.

Como funciona o Device Token?

Device Token é um identificador único do dispositivo para enviar notificações push. No Android, é o Registration Token do FCM; no iOS, o Device Token do APNS. O token pode mudar ao reinstalar o aplicativo ou redefinir as configurações, por isso precisa ser atualizado no servidor.

O que é Silent Push e para que serve?

Silent Push (notificação silenciosa) é uma notificação sem exibição ao usuário. É usado para atualizações de dados em segundo plano: sincronização de conteúdo, atualização de widgets, pré-busca. No iOS, requer a ativação de Background Modes → Remote notifications.

Como o PushKit difere das notificações push comuns?

PushKit é um framework da Apple para entrega de notificações de alta prioridade usado em aplicativos VoIP (chamadas, mensageiros). O PushKit entrega a notificação mesmo se o aplicativo estiver encerrado e garante a inicialização do aplicativo para processamento.

Resumo

  • FCM — serviço multiplataforma do Google; APNS — serviço nativo da Apple
  • Rich Notification inclui mídia e botões; Silent Push atualiza dados sem mostrar ao usuário
  • Notification Channel (Android) e Notification Category (iOS) — obrigatórios para agrupar notificações
  • Device Token — identificador único; deve ser atualizado regularmente no servidor
  • Topic Subscription simplifica envios em massa sem armazenar uma lista de tokens
  • PushKit — para notificações críticas (VoIP, alertas vitais)
  • Notification Payload deve ser estruturado conforme a plataforma: notification + data para FCM, aps para APNS

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto