Sendrealm vs FCM, APNs e Expo Push: Qual Camada Usar?
Escolher uma solução de push é confuso porque os nomes descrevem camadas diferentes do caminho de entrega.
Firebase Cloud Messaging, ou FCM, é o serviço do Google e o caminho nativo usado por aplicativos Android. Apple Push Notification service, ou APNs, é a rede da Apple para iPhone e iPad. Expo Push Service é um intermediário que recebe tokens Expo e encaminha notificações ao FCM ou APNs. A Sendrealm é uma plataforma de comunicação que administra credenciais, registro de dispositivos, identidade, audiências, campanhas, automações, analytics e entrega através dessas redes.
Não são quatro produtos intercambiáveis. FCM e APNs são infraestruturas das quais o push mobile depende. A Sendrealm não substitui suas redes; oferece uma camada operacional consistente acima delas. Entender a arquitetura torna a comparação muito mais útil.
O caminho de entrega em uma imagem
No push mobile pela Sendrealm, o caminho é:
Seu produto, backend, campanha ou automação
↓
Sendrealm
↙ ↘
FCM para Android APNs para iOS
↓ ↓
Dispositivo Android Dispositivo Apple
Com Expo Push Service:
Seu backend
↓
Expo Push Service
↙ ↘
FCM APNs
↓ ↓
Android iOS
Na integração direta, seu backend assume a orquestração:
Seu backend, banco de tokens, segmentação, retentativas e analytics
↙ ↘
FCM APNs
↓ ↓
Android iOS
O provedor final continua sendo Google ou Apple em todos os casos mobile. A decisão é sobre o que o time quer construir e operar antes de a requisição chegar a ele.
O que o FCM oferece
O Firebase Cloud Messaging é um serviço cross-platform para mensagens de notificação e dados. Um ambiente confiável, como servidor ou Cloud Functions, envia pelo Firebase Admin SDK ou protocolo FCM. Aplicativos recebem pelo SDK da plataforma.
FCM é essencial para Android e também pode funcionar como interface de envio cross-platform. No iOS, as mensagens ainda passam pelo APNs, então credenciais e comportamento da Apple continuam no caminho.
O FCM oferece primitivas importantes:
- mensagens de notificação e de dados;
- entrega por token;
- grupos e tópicos;
- controles específicos por plataforma;
- SDKs e protocolos de servidor;
- integração com o ecossistema Firebase.
Ao enviar diretamente, o time ainda decide como usuários se relacionam com tokens, como tokens inválidos são removidos, onde preferências ficam, como segmentos são calculados, como agendamentos e jornadas funcionam, onde conteúdo é administrado e como suporte investiga um cliente.
Isso não é deficiência do FCM. São preocupações de uma camada superior. FCM é muito bom como rede e protocolo; não pretende ser um sistema completo de lifecycle multicanal.
O que o APNs oferece
O Apple Push Notification service é a infraestrutura remota da Apple. Seu provider server autentica, monta o payload com token e envia pela conexão suportada. APNs mantém a conexão com os dispositivos e aplica o comportamento da plataforma.
Integrar diretamente oferece acesso aos conceitos nativos e a novos recursos sem esperar outra abstração. Também deixa o time responsável por:
- autenticação por token ou certificado;
- requisições e respostas HTTP/2;
- armazenamento e associação de tokens;
- ambientes sandbox e production;
- tópico e Bundle ID corretos;
- expiração, prioridade, collapse e campos do payload;
- processamento de erros e limpeza de tokens inativos;
- conexão e observabilidade do provedor.
APNs identifica uma instalação, não uma relação completa. Se uma pessoa usa iPhone, iPad, navegador e email, a aplicação precisa construir identidade e preferências que conectem os destinos.
A Apple também deixa claro que entrega não é garantida. O provedor pode armazenar, agrupar, atrasar ou omitir notificações conforme o estado do aparelho e condições de entrega. Qualquer plataforma acima dele deve preservar essa realidade best effort.
O que o Expo Push Service oferece
O Expo Push Service simplifica entrega mobile em aplicativos Expo. O app obtém um token Expo, o backend chama a API do Expo e o serviço encaminha ao FCM ou APNs. Tickets e receipts mostram erros no handoff.
É atraente para quem quer um caminho mobile direto e já usa Expo. Evita clientes de envio separados e oferece um formato comum.
A própria documentação diz que falar diretamente com FCM e APNs é mais complexo, mas oferece controle mais fino e acesso a recursos dos provedores. Expo também permite obter tokens nativos para outro remetente. O cliente não cria lock-in permanente.
Expo Push Service continua sendo intermediário de entrega, não plataforma completa de lifecycle com email e push. O app ainda administra identidade, audiências duráveis, tópicos, campanhas, automações complexas, análise multicanal e colaboração em outro lugar.
Expo Go também não é o caminho de produção para integrações nativas atuais. Development builds, prebuild, expo run ou EAS incluem módulos e credenciais específicos do app.
O que a Sendrealm adiciona acima de FCM e APNs
A Sendrealm usa os provedores nativos enquanto oferece um lugar para produto, engenharia, lifecycle e operações administrarem a comunicação ao redor deles.
Um modelo de envio entre plataformas
Código confiável chama uma API ou SDK da Sendrealm. Android segue pelo FCM e iOS pelo APNs usando as credenciais do Push App. Assinaturas web participam pelo caminho de web push.
Um envio direto usa device ID, external ID, contato, email ou token bruto. Campanhas e agendamentos usam audiências. Cada requisição escolhe um único estilo de alvo para que o escopo permaneça claro.
O remetente ainda fornece overrides Android e iOS quando o comportamento é diferente. API compartilhada não exige payload idêntico.
SDKs de registro de dispositivos
A Sendrealm oferece caminhos para Android, iOS, React Native bare, React Native Expo e React web push. Os SDKs inicializam, registram tokens ou subscriptions, mostram permissão, vinculam identidade, registram contexto observado no app, acompanham aberturas e geram diagnósticos.
A integração React Native usa @sendrealm/react-native em bare e Expo. Consulte o guia Expo e o guia bare.
Identidade acima dos tokens
Tokens são detalhes de implementação. Produto trabalha com IDs, contas, emails, segmentos e preferências.
Depois de login(userId, email), o backend usa o external ID sem manter uma busca privada de tokens. Os dispositivos atuais permanecem conectados ao contato. Logout e mudanças de assinatura atualizam o estado operacional.
Isso é especialmente valioso quando a pessoa usa vários dispositivos e canais. Identidade vira responsabilidade da plataforma, não de cada produtor de notificações.
Audiências e preferências
Tópicos FCM são úteis, mas uma audiência de lifecycle frequentemente exige condições mais ricas: plano, idioma, comportamento, preferência, eventos recentes ou combinações entre contato e dispositivo.
Audiências, propriedades, tópicos e eventos da Sendrealm formam essa camada. O mesmo modelo atende email, push e campanhas multicanais. Não é necessário exportar um segmento para outro produto porque a próxima etapa usa outro canal.
Campanhas e automações
APIs de provedor entregam requisições; não definem a jornada. O time ainda precisa de agendamento, conteúdo reutilizável, esperas, condições, saídas, revisão e recuperação.
A Sendrealm oferece push direto, campanhas por audiência, agendamento, templates e automações por evento. Um evento pode enviar email, esperar, avaliar estado, enviar push ou atualizar audiência. A orquestração usa o mesmo contexto.
Email e push juntos
Essa é a maior diferença em relação a abstrações exclusivas de push. A Sendrealm mantém email transacional, campanhas, push, contatos, audiências, tópicos, eventos, templates, automações e analytics no mesmo projeto.
Uma jornada de pagamento recusado envia um aviso durável por email e um push que abre a tela de pagamento. Uma atualização de envio usa push para rapidez e email como registro. Alguém sem dispositivo inscrito segue por email sem outro sync de identidade.
A pergunta vira “qual comunicação combina com este momento?” em vez de “qual provedor controla este usuário?”.
Visibilidade operacional
A Sendrealm registra evidências de requisição, fila, provedor, dispositivo e engajamento quando suportadas. Diagnósticos mostram device ID, token, permissão, assinatura, ambiente, versão e erros úteis.
Nenhum serviço pode prometer honestamente que um push aceito apareceu na tela. Energia, canais, rede, fabricante, Focus, resumo, configurações e throttling continuam fora do controle. A vantagem é um caminho de investigação melhor, não garantia fictícia.
Preço por uso
A cobrança de push da Sendrealm acompanha notificações enviadas, não dispositivos registrados nem usuários ativos mensais. Segmentação, analytics, relatórios, gestão de dispositivos e opt-out estão incluídos no uso segundo a página atual de push.
Isso alinha a fatura ao volume de comunicação. Uma base instalada maior não vira automaticamente uma conta maior quando o time envia a mesma quantidade de mensagens relevantes. Sempre confira as taxas atuais e modele seu tráfego.
Operações preparadas para agentes
Pelo MCP da Sendrealm, clientes de IA compatíveis inspecionam provedores, dispositivos, audiências, templates, automações e evidências; preparam trabalho; executam testes limitados; e transferem ações amplas a uma aprovação humana.
Isso não pertence à rede do provedor. É uma camada operacional ao redor do projeto. Saiba mais na visão geral do MCP.
Comparação lado a lado
| Capacidade | FCM direto | APNs direto | Expo Push Service | Sendrealm |
|---|---|---|---|---|
| Papel principal | Provedor e protocolo | Rede Apple | Intermediário Expo | Plataforma de comunicação e orquestração |
| Android | Nativo | Não | Via FCM | Via FCM |
| iOS | Via APNs | Nativo | Via APNs | Via APNs |
| React Native Expo | Firebase ou cliente customizado | Setup iOS customizado | Expo notifications | Config plugin e SDK Sendrealm |
| React Native bare | Integração Firebase | Integração Apple | Possível com tooling Expo | SDK React Native compartilhado |
| Web push | FCM web | Safari usa caminhos Apple | Não é o foco | Caminho com SDK React web push |
| Identidade de cliente | Construir ou integrar | Construir ou integrar | Construir ou integrar | Contatos, external IDs, emails e dispositivos |
| Audiências | Tokens, grupos, tópicos e segmentos importados | Construir ou usar recursos aplicáveis | Listas de tokens mantidas pelo app | Audiências, contexto e filtros de plataforma |
| Email na mesma plataforma | Não | Não | Não | Email transacional e campanhas |
| Automações de lifecycle | Construir ou adicionar produto | Construir ou adicionar produto | Construir ou adicionar produto | Automações de email e push por evento |
| Campanhas | Ferramentas Firebase ou custom | Custom | Custom ao redor da API | Templates, audiências, agenda e relatórios |
| Credenciais | Time opera Firebase | Time opera Apple | Configuração Expo/EAS | Upload por Push App na Sendrealm |
| Diagnóstico | Ferramentas do app e provedor | Ferramentas do app e provedor | Tickets e receipts Expo | Diagnósticos do SDK e evidências do provedor |
| Unidade de cobrança | Consulte termos Firebase | Sem fatura separada do APNs, mas infraestrutura é sua | Consulte termos Expo | Notificações enviadas no preço atual |
A tabela compara responsabilidades, não só sintaxe. Entrega direta pode ter fatura baixa e custo interno maior. Uma plataforma gerenciada cobra pelo serviço e remove partes da infraestrutura que o time operaria.
O que o time assume na integração direta
Integração direta é uma opção real, especialmente com infraestrutura madura. Avalie a lista completa.
Seu backend pode precisar de:
- endpoint de registro;
- banco seguro de tokens;
- mapeamento entre usuários, contas e dispositivos;
- rotação e limpeza de tokens;
- autenticação separada no FCM e APNs;
- payload por plataforma;
- retentativa, rate limit e idempotência;
- agenda, filas e recuperação;
- audiências e exclusões;
- preferências e opt-out;
- templates e localização;
- normalização de respostas;
- analytics de entrega e interação;
- ferramentas internas para suporte e campanhas;
- auditoria e acesso;
- conexão com email e outros canais.
Nada disso é impossível. A pergunta é se construir gera vantagem para sua empresa.
Quando provedores diretos podem ser ideais
Sendrealm não é automaticamente correta em toda arquitetura. FCM e APNs diretos fazem sentido quando:
- a empresa já possui plataforma madura de tokens, identidade, fila, preferências e analytics;
- o app precisa de um recurso novo do provedor antes das camadas superiores;
- payload ou conexão extremamente customizados são centrais;
- push é capacidade interna, não canal de lifecycle;
- o time aceita o ownership em troca de controle máximo;
- requisitos regulatórios ou de deployment exigem limite customizado.
Mesmo assim, calcule manutenção e on-call, não apenas custo por mensagem. APIs evoluem, credenciais giram, plataformas mudam e operadores continuam precisando de ferramentas.
Quando Expo Push Service pode bastar
Expo Push Service pode ser ótimo quando:
- o app é totalmente centrado em Expo;
- a necessidade é push mobile, não lifecycle multicanal;
- o time administra relação cliente-token e campanhas;
- tickets e receipts bastam como evidência;
- audiências, email, automações e MCP da Sendrealm não são necessários.
É um caminho focado e acessível. Migrar depois é possível porque apps Expo obtêm tokens nativos, mas ainda exige trabalho no servidor e identidade.
Quando Sendrealm é mais forte
A Sendrealm ganha valor quando várias condições são verdadeiras:
- o produto tem Android e iOS, com web push agora ou no futuro;
- a base usa Expo, bare React Native ou ambos em produtos diferentes;
- o time quer segmentar clientes e audiências, não administrar tokens;
- push e email fazem parte de onboarding, ativação, cobrança ou retenção;
- lifecycle precisa de templates, campanhas, agenda e automações sem ferramenta interna;
- suporte precisa de evidências individuais no mesmo lugar;
- a empresa quer cobrança que não cresça só por dispositivos registrados;
- desenvolvimento e produção precisam de separação explícita;
- assistentes devem inspecionar e preparar sem receber credenciais ou poder unilateral de envio.
O valor cresce com coordenação. Para uma notificação Android fixa em um token, FCM direto pode bastar. Para comunicação entre identidades, dispositivos, audiências, canais e times, a camada gerenciada ganha importância.
Um envio pelo backend
O app registra e vincula o dispositivo pelo SDK. O backend confiável envia pelo SDK de servidor:
import Sendrealm from '@sendrealm/sdk';
const client = new Sendrealm({
apiKey: process.env.SENDREALM_API_KEY
});
await client.push.notifications.send({
app_id: 'YOUR_SENDREALM_APP_ID',
external_ids: ['user-123'],
notification: {
title: 'Pagamento confirmado',
body: 'Sua assinatura está ativa.',
launch_url: 'myapp://billing'
},
data: {
invoice_id: 'inv_123'
},
android: {
channel_id: 'billing',
sound: 'default'
},
ios: {
sound: 'default',
badge: 1
}
});
A API apresenta uma operação ligada ao cliente e mantém overrides. A Sendrealm usa as credenciais Firebase e APNs nos requests reais.
Nunca coloque SENDREALM_API_KEY, conta de serviço Firebase ou .p8 no cliente. O app usa apenas o Push App ID público. Veja a separação no guia de credenciais.
Migrando de provedores diretos
A migração não precisa mudar todas as jornadas de uma vez.
- Crie um Push App para package e Bundle ID exatos.
- Envie com segurança conta de serviço Firebase e valores APNs existentes.
- Instale o SDK Sendrealm em um build de desenvolvimento.
- Registre um Android e um iPhone físico de teste.
- Vincule usuários controlados por external IDs estáveis.
- Envie testes explícitos pelo backend.
- Compare respostas e comportamento com o caminho antigo.
- Mova uma notificação ou automação limitada.
- Monitore registros, tokens inválidos, aberturas e diagnósticos.
- Remova endpoint e remetente antigos após o rollback.
Evite dois sistemas independentes de registro para sempre. A documentação Expo também alerta sobre conflito ao misturar implementações no cliente. Defina qual SDK controla registro, permissão e abertura em cada fase.
A comparação útil é construir versus operar
FCM e APNs respondem: “Como o payload chega ao dispositivo Android ou Apple?”. Expo Push Service responde: “Como um app Expo envia aos dois provedores por um serviço?”. A Sendrealm responde algo mais amplo: “Como o time opera push dentro da comunicação com o cliente?”.
Essa camada inclui identidades por trás dos dispositivos, audiências, eventos, templates e agenda, alternativa ou complemento por email, evidência para suporte e proteção das ações de produção.
Usar Sendrealm não remove FCM nem APNs. Remove a necessidade de cada time recriar a mesma orquestração.
Escolha a opção que combina com o problema:
- Use FCM ou APNs direto quando deseja controle do provedor e está pronto para operar o entorno.
- Use Expo Push Service para um caminho Expo focado quando esse escopo basta.
- Use Sendrealm quando push precisa trabalhar com identidade, audiências, eventos, campanhas, automações, analytics, email e agentes no mesmo projeto.
Conheça a plataforma de push da Sendrealm, veja a visão geral dos SDKs ou comece pelo guia de credenciais mobile.