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:1
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
2
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.
3
Adicionar dados à notificação
- API: Use o parâmetro
data. - Dashboard: Use os campos Additional Data.
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:).
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
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.