Pular para o conteúdo principal

O que são notificações silenciosas?

Notificações silenciosas permitem despertar seu aplicativo e executar tarefas em segundo plano—como sincronização ou atualização de dados—sem exibir uma mensagem visível ou reproduzir um som. No iOS, são chamadas de Notificações em Segundo Plano, e no Android, são conhecidas como Notificações de Dados. Juntas, são frequentemente chamadas de pushes silenciosos e se comportam de forma diferente das notificações normais e visíveis.

Limitações

  • Aplicativos não podem receber pushes silenciosos se:
    • iOS: O aplicativo foi fechado pelo usuário, como quando deslizado para fora do seletor de aplicativos. (Consulte Suporte Apple).
    • Android: O aplicativo foi forçadamente fechado através das configurações do dispositivo ou automaticamente por alguns fabricantes quando deslizado para fora. (Mais detalhes aqui).
  • A entrega não é garantida:
    • Tanto a Apple quanto o Google tratam notificações silenciosas como melhor esforço. O iOS pode atrasar ou descartar a entrega no Modo de Baixa Energia, com a Atualização de App em Segundo Plano desativada ou se o aplicativo foi fechado pelo usuário. O Android pode limitar ou agrupar a entrega sob regras de Doze ou de economia de energia do OEM.
    • Devido a isso, notificações silenciosas nunca devem ser usadas para atualizações críticas.
  • Apenas usuários inscritos: O SDK do OneSignal envia notificações de dados apenas para Assinaturas inscritas. Para alcançar usuários não inscritos, siga esta solução alternativa.
  • Suporte limitado para SDKs multiplataforma:

Enviando notificações silenciosas do OneSignal

Siga estas etapas para enviar uma notificação silenciosa do OneSignal:
1

Omitir conteúdo visível

Remova qualquer texto ou títulos visíveis da mensagem. Isso inclui:
  • API: contents, headings, subtitle na sua solicitação da API Create notification.
  • Dashboard: Message, Title, Subtitle
2

Definir content_available

  • API: Defina content_available como true.
  • Dashboard: Marque Content available em “Send to Apple iOS”. Isso é aplicável para todas as plataformas e apenas informa ao nosso sistema que nenhuma mensagem está sendo enviada.
3

Adicionar dados à notificação

  • API: Use o parâmetro data.
  • Dashboard: Use os campos Additional Data.

Exemplo de payload de API

curl -X POST https://api.onesignal.com/notifications \
  -H "Authorization: Key YOUR_APP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "app_id": "YOUR_APP_ID",
    "include_aliases": { "external_id": ["user-123"] },
    "target_channel": "push",
    "content_available": true,
    "data": {
      "action": "sync_data",
      "version": "2"
    }
  }'

Configuração específica da plataforma

Configuração de notificação em segundo plano do iOS

Para lidar com notificações em segundo plano, seu aplicativo iOS deve ter a capacidade Background Modes > Remote Notifications habilitada no Xcode. Isso é tipicamente incluído se você seguiu nossa Configuração do SDK Móvel. Para processar a notificação, implemente o método AppDelegate application(_:didReceiveRemoteNotification:fetchCompletionHandler:). Documentação da Apple:
Se o usuário fechou o aplicativo (deslizou para fora do seletor de aplicativos), o iOS não entregará a notificação.Nesses casos, inclua uma mensagem contents visível e processe os dados no UNNotificationServiceExtension.didReceive.

Configuração de notificação de dados do Android

Manipule notificações de dados no Android usando a Extensão de Serviço de Notificação. Isso permite:
  • Processar notificações desde que o aplicativo não tenha sido forçadamente fechado
  • Personalizar como as notificações são exibidas ou suprimidas
Documentação Android:
Se o aplicativo foi forçadamente interrompido (via configurações do dispositivo ou por alguma otimização de bateria do OEM), o Android não entregará a notificação. Consulte o comportamento de força-parada do Android.

Enviando notificações VoIP

Notificações VoIP são suportadas, mas requerem configuração adicional fora dos SDKs padrão do OneSignal. O OneSignal não registra tokens VoIP automaticamente.

Guia de Configuração de Notificações VoIP

Configure notificações push VoIP para chamadas em tempo real no iOS.

FAQ

Notificações silenciosas podem ser usadas para detectar desinstalações ou cancelamentos de assinatura?

Tecnicamente sim, mas não é confiável. Como explicado na seção Limitações acima, notificações silenciosas não são garantidas para serem entregues. Em vez disso:
  • Envie notificações visíveis (com conteúdo) para todos os seus usuários pelo menos uma vez por mês.
  • Opcionalmente, envie notificações silenciosas como uma verificação complementar.
Para mais detalhes sobre como lidar com mudanças no status de assinatura, consulte nosso guia Assinaturas.

Entregas confirmadas funcionam com notificações silenciosas?

Entregas confirmadas não funcionam com notificações silenciosas.

Posso usar notificações silenciosas para medir quantos usuários são alcançáveis?

Não, não de forma confiável. Notificações silenciosas não têm entrega garantida.
  1. A entrega não é garantida — tanto a Apple quanto o Google tratam notificações silenciosas como melhor esforço e podem atrasá-las ou descartá-las. Por exemplo, o iOS as descartará se o aplicativo estiver fechado (força-parada) e o Android e iOS as limitarão sob regras de economia de energia.
  2. A entrega não é confirmada — entregas confirmadas não funcionam com notificações silenciosas, portanto não há como saber quais usuários realmente receberam o push.
Para medir usuários alcançáveis, envie uma notificação visível e acompanhe as métricas de entrega em Analytics.

Extensões de serviço

Processe notificações em código nativo no iOS e Android.

Assinaturas

Entenda os tipos de assinatura e como eles se conectam aos usuários.

API de Criação de Mensagem

Envie notificações programaticamente, incluindo pushes silenciosos.