Visão geral
As notificações push do Android são essenciais para impulsionar o engajamento sustentado do usuário e a retenção em seu aplicativo Android. Elas permitem que você entregue atualizações em tempo real, lembretes e mensagens personalizadas diretamente aos seus usuários, melhorando a experiência geral do usuário e a aderência do seu aplicativo. O OneSignal aproveita o Firebase Cloud Messaging (FCM), mas é projetado para fornecer ainda mais flexibilidade e funcionalidade, conforme mostrado neste guia.Requisitos
- Dispositivo ou emulador Android 7.0+ com “Google Play Store (Services)” instalado.
- Android Studio (as instruções de configuração usam o Android Studio Meerkat).
- Aplicativo e plataforma OneSignal configurados.
Configure your OneSignal app and platform
Required setup for push notifications To start sending push notifications with OneSignal, you must first configure your OneSignal app with all the platforms your support—Apple (APNs), Google (FCM), Huawei (HMS), and/or Amazon (ADM).Step-by-step instructions for configuring your OneSignal app.
Step-by-step instructions for configuring your OneSignal app.
Create or select your app
- To add platforms to an existing app, go to Settings > Push & In-App in the OneSignal dashboard.
- To start fresh, click New App/Website and follow the prompts.

Example shows creating a new app.
Set up and activate a platform
- Choose a clear and recognizable name for your app and organization.
- Select the platform(s) you want to configure (iOS, Android, etc.).
- Click Next: Configure Your Platform.

Example setting up your first OneSignal app, org, and channel.
Configure platform credentials
- Android: Set up Firebase Credentials
- iOS: p8 Token (Recommended) or p12 Certificate
- Amazon: Generate API Key
- Huawei: Authorize OneSignal
Choose target SDK

Select which SDK you are using to be navigated to the docs.
Install SDK and save your App ID

Save your App ID and invite additional team members.
Configuração do Android
1. Adicionar o SDK do OneSignal
No Android Studio, abra seu arquivobuild.gradle.kts (Module: app) ou build.gradle (Module: app) e adicione o OneSignal às suas dependencies.

Exemplo mostrando a adição do OneSignal ao arquivo build.gradle.kts do seu App.
Sincronizar o Gradle
Após adicionar a dependência, sincronize seu projeto:- Clique em Sync Now no banner
- Ou vá em File > Sync Project with Gradle Files
2. Inicializar o SDK na classe Application
É uma boa prática inicializar o OneSignal no métodoonCreate da sua classe Application para garantir a configuração adequada do SDK em todos os pontos de entrada.
Como criar uma classe Application
Como criar uma classe Application
ApplicationClass) e adicione o seguinte código.
Exemplo de arquivo ApplicationClass.kt.
AndroidManifest.xml do seu aplicativoNa sua tag <application>, adicione android:name=".ApplicationClass" (substitua .ApplicationClass pelo nome real da sua classe, se você a definiu como algo diferente).
AndroidManifest.xml com o nome .ApplicationClass.
ApplicationClass, inicialize o OneSignal com os métodos fornecidos.
Substitua YOUR_APP_ID pelo seu ID do aplicativo OneSignal encontrado em Settings > Keys & IDs no seu painel OneSignal. Se você não tiver acesso ao aplicativo OneSignal, peça aos seus Team Members para convidá-lo.

Arquivo ApplicationClass.kt com o código do OneSignal adicionado.
Activity (como MainActivity) não é recomendado porque pode não ser chamada em inicializações a frio do aplicativo a partir de deep links ou notificações. Sempre inicialize o OneSignal na sua classe Application para maior confiabilidade.3. Personalizar ícones padrão
Recomendamos configurar seus ícones de notificação para corresponder à marca do seu aplicativo. Caso contrário, o OneSignal usará um ícone de sino padrão.Testando a integração do SDK do OneSignal
Este guia ajuda você a verificar se a integração do SDK do OneSignal está funcionando corretamente, testando notificações push, registro de assinatura e mensagens in-app.- Vá para Device Manager no Android Studio.
- Selecione seu dispositivo emulador e clique em Edit.
- Vá para Additional Settings ou More.
- Defina a Boot option como Cold Boot.
- Salve as alterações e reinicie o emulador.
Verificar assinaturas móveis
Inicie seu aplicativo em um dispositivo de teste.
requestPermission durante a inicialização.
Prompts de permissão push do iOS e Android
Verifique seu painel OneSignal
- Vá para Audience > Subscriptions.
- Você deve ver uma nova entrada com o status “Never Subscribed”.

Painel mostrando assinatura com status 'Never Subscribed'
Retorne ao aplicativo e toque em Allow no prompt.
Atualize a página de Subscriptions do painel OneSignal.

Painel mostrando assinatura com status 'Subscribed'
Configurar assinaturas de teste
As assinaturas de teste são úteis para testar uma notificação push antes de enviar uma mensagem.Adicionar às Assinaturas de Teste.

Adicionando um dispositivo às Assinaturas de Teste
Nomeie sua assinatura.

Painel mostrando o campo 'Name your subscription'
Crie um segmento de usuários de teste.
Nomeie o segmento.
Test Users (o nome é importante porque será usado posteriormente).Adicione o filtro Test Users e clique em Create Segment.

Criando um segmento 'Test Users' com o filtro Test Users
Enviar push de teste via API
Obtenha sua chave de API do aplicativo e ID do aplicativo.
Atualize o código fornecido.
YOUR_APP_API_KEY e YOUR_APP_ID no código abaixo pelas suas chaves reais. Este código usa o segmento Test Users que criamos anteriormente.Execute o código.
Verifique as imagens e a entrega confirmada.

Notificação push com imagem no iOS e Android
Verifique a entrega confirmada.

Estatísticas de entrega mostrando entrega confirmada

Entrega confirmada no nível do dispositivo na Audience Activity
- Sem entrega confirmada? Revise o guia de solução de problemas aqui.
- Tendo problemas? Copie e cole a solicitação de API e um log do início ao fim do lançamento do aplicativo em um arquivo
.txt. Em seguida, compartilhe ambos comsupport@onesignal.com.
Enviar uma mensagem in-app
Mensagens in-app permitem que você se comunique com os usuários enquanto eles estão usando seu aplicativo.Feche ou coloque seu aplicativo em segundo plano no dispositivo.
Crie uma mensagem in-app.
- No seu painel OneSignal, navegue até Messages > In-App > New In-App.
- Encontre e selecione a mensagem Welcome.
- Defina seu Audience como o segmento Test Users que usamos anteriormente.

Segmentando o segmento 'Test Users' com uma mensagem in-app
Personalize o conteúdo da mensagem, se desejar.

Exemplo de personalização da mensagem de boas-vindas in-app
Defina o Trigger como 'On app open'.
Agende a frequência.

Opções de agendamento de mensagens in-app
Torne a mensagem ativa.
Abra o aplicativo e veja a mensagem.

Mensagem in-app de boas-vindas exibida nos dispositivos
- Inicie uma nova sessão
- Você deve fechar ou colocar o aplicativo em segundo plano por pelo menos 30 segundos antes de reabrir. Isso garante que uma nova sessão seja iniciada.
- Para mais informações, consulte como as mensagens in-app são exibidas.
- Ainda no segmento
Test Users?- Se você reinstalou ou trocou de dispositivo, adicione novamente o dispositivo às Assinaturas de Teste e confirme se ele faz parte do segmento Test Users.
- Tendo problemas?
- Siga Getting a Debug Log enquanto reproduz as etapas acima. Isso gerará logs adicionais que você pode compartilhar com
support@onesignal.come nós ajudaremos a investigar o que está acontecendo.
- Siga Getting a Debug Log enquanto reproduz as etapas acima. Isso gerará logs adicionais que você pode compartilhar com
- Coletar Assinaturas, configurar Assinaturas de teste e criar Segmentos.
- Enviar Push com imagens e Entrega confirmada usando Segmentos e nossa API Create message.
- Enviar Mensagens in-app.
Identificação de usuário
Anteriormente, demonstramos como criar Assinaturas móveis. Agora vamos expandir para identificar Usuários em todas as suas assinaturas (incluindo push, email e SMS) usando o SDK do OneSignal. Abordaremos IDs externos, tags, assinaturas multicanal, privacidade e rastreamento de eventos para ajudá-lo a unificar e engajar usuários entre plataformas.Atribuir ID externo
Use um ID externo para identificar usuários de forma consistente em dispositivos, endereços de email e números de telefone usando o identificador de usuário do seu backend. Isso garante que suas mensagens permaneçam unificadas entre canais e sistemas de terceiros (especialmente importante para Integrações). Defina o ID externo com o métodologin do nosso SDK cada vez que eles forem identificados pelo seu aplicativo.
Adicionar tags de dados
Tags são pares chave-valor de dados de string que você pode usar para armazenar propriedades do usuário (comousername, role ou preferências) e eventos (como purchase_date, game_level ou interações do usuário). As tags alimentam Personalização de mensagem avançada e Segmentação, permitindo casos de uso mais avançados.
Defina tags com nossos métodos addTag e addTags do SDK conforme eventos ocorrem em seu aplicativo.
Neste exemplo, o usuário alcançou o nível 6, identificável pela tag chamada current_level definida com um valor de 6.

Um perfil de usuário no OneSignal com uma tag chamada "current_level" definida como "6"

Editor de segmento mostrando um segmento direcionado a usuários com valor de current_level maior que 4 e menor que 10

Captura de tela mostrando uma notificação push direcionada ao segmento Level 5-10 com uma mensagem personalizada

A notificação push é recebida em um dispositivo iOS e Android com o conteúdo personalizado
Adicionar assinaturas de email e/ou SMS
Anteriormente, vimos como nosso SDK cria assinaturas móveis para enviar mensagens push e in-app. Você também pode alcançar usuários por meio de emails e canais SMS criando as assinaturas correspondentes.- Use o método
addEmailpara criar assinaturas de email. - Use o método
addSmspara criar assinaturas de SMS.

Um perfil de usuário com assinaturas push, email e SMS unificadas por ID externo
- Obtenha consentimento explícito antes de adicionar assinaturas de email ou SMS.
- Explique os benefícios de cada canal de comunicação aos usuários.
- Forneça preferências de canal para que os usuários possam selecionar quais canais preferem.
Privacidade e consentimento do usuário
Para controlar quando o OneSignal coleta dados do usuário, use os métodos de controle de consentimento do SDK:setConsentRequired(true): Impede a coleta de dados até que o consentimento seja dado.setConsentGiven(true): Habilita a coleta de dados uma vez que o consentimento é concedido.
Solicitar permissões push
Em vez de chamarrequestPermission() imediatamente na abertura do aplicativo, adote uma abordagem mais estratégica. Use uma mensagem in-app para explicar o valor das notificações push antes de solicitar permissão.
Para melhores práticas e detalhes de implementação, consulte nosso guia Solicitar permissões push.
Ouvir eventos push, de usuário e in-app
Use listeners do SDK para reagir a ações do usuário e mudanças de estado. O SDK fornece vários listeners de eventos para você se conectar. Consulte nosso guia de referência do SDK para mais detalhes.Eventos de notificação push
addClickListener(): Detecta quando uma notificação é tocada. Útil para Deep Linking.addForegroundLifecycleListener(): Controla como as notificações se comportam em primeiro plano.
Mudanças de estado do usuário
addObserver()para estado do usuário: Detecta quando o ID externo é definido.addPermissionObserver(): Rastreia a interação específica do usuário com o prompt de permissão push nativo.addObserver()para assinatura push: Rastreia quando o status da assinatura push muda.
Eventos de mensagem in-app
addClickListener(): Lida com ações de clique in-app. Ideal para deep linking ou rastreamento de eventos.addLifecycleListener(): Rastreia o ciclo de vida completo das mensagens in-app (exibido, clicado, dispensado, etc.).
Configuração avançada e recursos
Explore mais recursos para aprimorar sua integração:- 🔁 Migração para o OneSignal de outro serviço
- 🌍 Rastreamento de localização
- 🔗 Deep Linking
- 🔌 Integrações
- 🧩 Extensões de serviço móvel
- 🛎️ Botões de ação
- 🌐 Mensagens em vários idiomas
- 🛡️ Verificação de identidade
- 📊 Resultados personalizados
- 📲 Live Activities
Configuração e referência do SDK móvel
Certifique-se de ter habilitado todos os recursos principais revisando o guia Configuração de push móvel. Para detalhes completos sobre métodos disponíveis e opções de configuração, visite a Referência do SDK móvel.Layout de notificação personalizado
O Android 12 e superior impõem modelos do sistema para notificações personalizadas. No entanto, você ainda pode personalizar seu layout usando os estilos de notificação padrão do Android.- Siga o guia de notificação personalizada do Android
- Aplique as alterações via a Extensão de serviço de notificação
Desabilitar comportamento de abertura padrão
Quando uma notificação é clicada, o OneSignal retomará seu aplicativo ou abrirá sua Activity iniciadora se seu aplicativo foi deslizado para fora. Para evitar que o OneSignal abra automaticamente sua Activity iniciadora quando uma notificação é clicada, adicione isso ao seuAndroidManifest.xml:
onCreate na sua classe Application. Você precisará chamar startActivity deste callback para levar o usuário à sua Activity pretendida.
Dados de fundo e substituições de push
- Use a Extensão de serviço de notificação para lidar com dados de fundo ou substituir visuais de notificação
- Use os Manipuladores de evento de notificação do SDK para ler dados adicionais de uma notificação
Suporte a idiomas da direita para a esquerda (RTL)
Para suportar idiomas RTL em notificações e UI, adicione isso ao seuAndroidManifest.xml:
support@onesignal.comPlease include:- Details of the issue you’re experiencing and steps to reproduce if available
- Your OneSignal App ID
- The External ID or Subscription ID if applicable
- The URL to the message you tested in the OneSignal Dashboard if applicable
- Any relevant logs or error messages