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

Autor: IT Sectr Publicado: 2026-03-19 Tempo de leitura: 8 min

Notificações Push são mensagens enviadas pelo servidor para um dispositivo móvel mesmo quando o aplicativo está fechado. De acordo com Google Firebase, 2024, as notificações Push são processadas através de serviços especializados — FCM no Android e APNS no iOS, que suportam entrega em tempo real para milhões de dispositivos simultaneamente. Elas se tornaram uma parte integrante da experiência do usuário em aplicativos móveis modernos.

Principais pontos

  • Notificações Push — mensagens do servidor entregues via FCM ou APNS.
  • FCM (Firebase Cloud Messaging) — o serviço principal para Android com suporte para iOS.
  • APNS (Apple Push Notification Service) — o próprio serviço da Apple para iOS e macOS.
  • Tipos de notificação são divididos em notificações de texto, notificações de mídia e notificações silenciosas.
  • Tokens de dispositivo — identificadores únicos para entrega direcionada de mensagens Push.

O que são Notificações Push?

Notificações Push são mensagens curtas que o servidor do aplicativo envia para o dispositivo do usuário sem uma solicitação explícita. Elas aparecem como banners, emblemas no ícone ou sinais sonoros, atraindo a atenção do usuário para o aplicativo e informando sobre eventos importantes.

Definição e propósito

Uma notificação Push consiste em um título, um corpo de mensagem e dados opcionais (payload). Ao contrário de SMS, as notificações Push são gratuitas para o usuário e são entregues através da infraestrutura de serviços em nuvem — FCM para Android e APNS para iOS. Os principais objetivos das notificações Push são: aumentar o engajamento, informar sobre eventos e trazer o usuário de volta ao aplicativo.

As estatísticas de uso mostram que notificações Push configuradas corretamente aumentam a retenção do aplicativo em 30–60%. No entanto, a frequência excessiva de notificações leva a cancelamentos de inscrição — mais de 60% dos usuários desativam as notificações se forem enviadas mais de três vezes por dia.

Arquitetura do sistema Push

Um sistema Push inclui três componentes: o servidor do aplicativo, o serviço de plataforma (FCM/APNS) e o aplicativo cliente no dispositivo. O servidor envia uma solicitação ao serviço de plataforma, que entrega a notificação ao dispositivo de destino através de uma conexão persistente com o sistema operacional.

Como funcionam as Notificações Push?

O mecanismo de entrega das notificações Push é baseado em uma conexão persistente entre o dispositivo e o serviço de plataforma. O sistema operacional mantém um canal de comunicação criptografado através do qual todas as mensagens Push passam.

Registro e obtenção do token

No primeiro lançamento, o aplicativo solicita permissão para enviar notificações e recebe um token único de dispositivo do FCM ou APNS. Este token é uma string de até 4 KB que identifica exclusivamente a instância do aplicativo. O token muda quando o aplicativo é reinstalado ou o dispositivo é restaurado de um backup.

kotlin
class FirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(
        message: RemoteMessage
    ) {
        showNotification(message.notification)
    }
}

Envio através do servidor do aplicativo

O servidor do aplicativo envia uma solicitação HTTP para a API do FCM ou API do APNS, especificando o token de destino, título, corpo e dados adicionais. O serviço de plataforma responde com um status de entrega: sucesso, token inválido (o dispositivo desinstalou o aplicativo) ou limite de taxa excedido.

js
fetch("https://fcm.googleapis.com/fcm/send", {
    method: "POST",
    headers: {
        "Authorization": "key=AIzaSy...",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        to: "device_token_here",
        notification: {
            title: "Nova mensagem",
            body: "Você tem uma nova notificação!"
        }
    })
})

FCM vs APNS: Comparação de plataformas

A escolha entre FCM e APNS depende da plataforma alvo. FCM suporta Android e iOS, enquanto APNS suporta apenas o ecossistema Apple. Vamos examinar as principais diferenças importantes para o desenvolvimento de aplicativos móveis multiplataforma.

Firebase Cloud Messaging (FCM)

FCM é um serviço do Google que funciona sobre o Google Play Services. Ele suporta dois esquemas de entrega: notificações com exibição automática e notificações de dados que o aplicativo gerencia sozinho. FCM é gratuito e não tem limites na quantidade de mensagens enviadas.

Apple Push Notification Service (APNS)

APNS é o serviço da Apple com suporte para anexos multimídia (imagens, vídeo, áudio) de até 10 MB. O envio via APNS requer um certificado TLS ou chave de autenticação. APNS limita a frequência de envio para um único dispositivo — no máximo 150 notificações por minuto, após o que a limitação de taxa é ativada.

CaracterísticaFCMAPNS
PlataformasAndroid, iOS, WebiOS, macOS, watchOS
RequisitosGoogle Play ServicesApple Developer Program
Mídiaaté 4 KB (dados)até 10 MB (anexos)
Prioridadenormal/altaimediata/economia de energia
Custogratuitogratuito (conta necessária)

Tipos de Notificações Push

As notificações Push são classificadas pelo método de exibição e propósito. Entender os tipos ajuda a escolher a estratégia correta para cada cenário de interação com o usuário.

Notificações de exibição (Display Notifications)

O tipo mais comum — uma notificação exibida com um título e corpo. O sistema operacional a mostra automaticamente na área de notificações, na tela de bloqueio e como banner. O desenvolvedor pode configurar som, vibração, emblema do ícone e botões de ação para ações diretas (responder, abrir, dispensar).

Notificações de dados (Data Notifications)

Notificações de dados contêm apenas payload sem exibição visual. O aplicativo as processa em segundo plano: sincroniza dados, atualiza cache ou inicia downloads. No Android, as notificações de dados são entregues de forma confiável; no iOS, apenas quando o aplicativo está ativo ou através de background fetch.

Notificações multimídia e rich

Sistemas operacionais móveis modernos suportam notificações rich e multimídia com imagens, GIFs, vídeo e áudio. No iOS, isso é implementado através de UNNotificationAttachment; no Android, através de BigPictureStyle e InboxStyle para personalizar a aparência da notificação na área de notificações do sistema.

Notificações silenciosas (Silent)

Notificações silenciosas não são exibidas ao usuário e são usadas para sincronização em segundo plano. No iOS, elas têm alta prioridade para tarefas como atualização de dados antes de abrir o aplicativo. O Android as trata como notificações de dados com prioridade mínima.

Configuração de Notificações Push em um projeto

A configuração de notificações Push requer ações nos níveis de infraestrutura, servidor e código do cliente. Vamos ver o processo típico para um projeto móvel multiplataforma.

Configuração do FCM para Android

Para Android, você precisa criar um projeto no Firebase Console, adicionar google-services.json ao projeto e configurar o FirebaseMessagingService. O token do dispositivo é obtido através de FirebaseInstanceId ou FirebaseMessaging.getInstance().token, após o que é enviado ao servidor via API no primeiro lançamento ou quando muda.

Configuração do APNS para iOS

Para iOS, é necessária uma assinatura do Apple Developer Program, criação de um certificado Push ou chave APNS no Developer Portal, e ativação da capacidade Push Notifications no Xcode. O registro de notificação é feito através de UIApplication.shared.registerForRemoteNotifications, recebendo o deviceToken no AppDelegate.

swift
import UIKit
import UserNotifications

@main
class AppDelegate: UIResponder,
    UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didRegisterForRemoteNotificationsWithDeviceToken
        deviceToken: Data
    ) {
        let token = deviceToken
            .map { String.format("%02x", $0) }
            .joined()
        // enviar token para seu servidor
    }
}

Envio pelo servidor

No lado do servidor, as notificações Push são enviadas através da REST API ou Admin SDK. FCM usa o Firebase Admin SDK (disponível para Node.js, Java, Python, Go), enquanto APNS usa bibliotecas pusher (pushy para Java, apn2 para Node.js). Recomenda-se armazenar tokens em um banco de dados com carimbo de data/hora da última atualização.

Segurança das Notificações Push

A segurança das notificações Push é criticamente importante, pois dados confidenciais podem ser transmitidos através delas. Ambas as plataformas fornecem mecanismos básicos de proteção, mas o desenvolvedor deve usá-los corretamente.

Criptografia do payload

O payload de uma notificação Push pode conter dados pessoais dos usuários: nomes, valores de transações, links de mensagens. Mesmo que o canal de comunicação entre FCM/APNS e o dispositivo seja criptografado, os dados podem ser interceptados no nível do aplicativo se um software de terceiros interceptar a notificação. Recomenda-se criptografar o payload sensível no servidor usando AES-256 e descriptografá-lo no dispositivo usando uma chave armazenada no Keychain (iOS) ou EncryptedSharedPreferences (Android).

Validação de tokens no servidor

O token do dispositivo é um identificador de sessão que pode ser comprometido se o dispositivo for hackeado ou o tráfego interceptado. O servidor do aplicativo deve validar os tokens antes de enviar: verificá-los contra o banco de dados, rastrear tokens inativos e removê-los em erros repetidos de InvalidToken. FCM e APNS retornam o status InvalidRegistration para tokens inválidos — não o ignore.

Proteção contra spam de notificações

Sem controle de frequência, as notificações Push podem se tornar uma ferramenta de spam que irrita os usuários e reduz a retenção. Defina limites no servidor: no máximo 5 notificações por hora para um único usuário e no máximo 3 mensagens idênticas. Para notificações transacionais (confirmação de pedido, alteração de senha), os limites podem ser maiores — até 10 por hora, pois contêm informações criticamente importantes. Use limitação de taxa no nível da API de envio para que um invasor não possa disparar notificações em massa através do seu servidor.

Perguntas frequentes

É possível enviar notificações Push sem FCM no Android?

Sim, mas conexão direta ao APNS não é suportada no Android — dispositivos sem Google Play Services usam alternativas como Huawei Mobile Services (HMS) e conexões WebSocket próprias. No entanto, o FCM continua sendo o padrão para a maioria dos aplicativos devido à sua gratuidade e confiabilidade.

Como funciona a entrega Push quando a internet está desconectada?

FCM e APNS armazenam a última notificação em seus servidores e a entregam quando a conexão é restaurada. Cada dispositivo armazena apenas a última notificação de cada aplicativo, portanto, mensagens intermediárias são perdidas durante ausência prolongada de rede.

Por que as notificações Push não chegam no iOS?

As razões mais comuns são um certificado Push expirado (válido por 1 ano), um token de dispositivo inválido, notificações desativadas nas configurações ou modo de baixo consumo ativado. Verifique o certificado no Apple Developer Console e certifique-se de que o aplicativo solicite permissão através do UNUserNotificationCenter.

Como rastrear se um usuário abriu uma notificação Push?

No Android, use PendingIntent no NotificationCompat.Builder com rastreamento de abertura via Intent. No iOS, use o método UNUserNotificationCenterDelegate.userNotificationCenter(_:didReceive:withCompletionHandler:). O FCM fornece relatórios de entrega e abertura para cada notificação enviada.

As notificações Push afetam a duração da bateria?

Minimamente — notificações Push não mantêm uma conexão constante; o SO usa um único canal do sistema para todos os aplicativos, o que minimiza o consumo total de energia. O envio frequente (a cada 5 minutos) consome mais energia ao despertar o dispositivo do modo de suspensão. Notificações silenciosas no iOS consomem mais bateria devido à ativação do aplicativo em segundo plano para processar os dados recebidos.

Resumo

  • Notificações Push — mensagens do servidor para o dispositivo via FCM ou APNS.
  • Token do dispositivo — identificador único para entrega direcionada de Push.
  • FCM suporta Android, iOS e Web; APNS suporta apenas o ecossistema Apple.
  • Notificações de dados são processadas em segundo plano sem exibição ao usuário.
  • Notificações multimídia no iOS suportam anexos de até 10 MB; no Android, através de estilos estendidos.
  • Certificados APNS requerem renovação anual no Apple Developer Portal.
  • Limitação de taxa no FCM e APNS protege os usuários de spam de notificações, limitando a frequência de envio para cada dispositivo.

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

Leia também