Visão geral
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. Este guia explica como configurar e enviar notificações silenciosas com o OneSignal em plataformas suportadas.Limitações
Notificações silenciosas se comportam de forma diferente das mensagens push normais e possuem várias limitações específicas da plataforma.- 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:
- Notificações silenciosas devem ser tratadas em código nativo (Java/Kotlin para Android, Swift/Obj-C para iOS).
- iOS requer implementação de
application:didReceiveRemoteNotification:fetchCompletionHandler:. - Android requer implementação de uma Extensão de Serviço de Notificação.
Enviando notificações silenciosas do OneSignal
Siga estas etapas para enviar uma notificação silenciosa do OneSignal:Omitir conteúdo visível
Remova qualquer texto ou títulos visíveis da mensagem. Isso inclui:
- API:
contents,headings,subtitlena sua solicitação da API Create notification. - Dashboard: Message, Title, Subtitle
Definir content_available
- API: Defina
content_availablecomotrue. - 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.
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. Documentação da Apple:- Pushing Background Updates to Your App
- Generating a Remote Notification
- Para processar a notificação, use o método
AppDelegateapplication(_:didReceiveRemoteNotification:fetchCompletionHandler:).
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
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. Para instruções de configuração, consulte o Guia de Configuração de Notificações VoIP.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.