Estas instruções não se aplicam a:
- Web Push. Os dispositivos Android podem se inscrever no seu site ou PWA sem uma Conta de Serviço FCM. Veja Configuração de push web.
- Aplicativos Huawei distribuídos pela Huawei App Gallery. Veja Autorização da Huawei.
Requisitos
- Um aplicativo Android distribuído pela Google Play Store
- Uma conta OneSignal
- Uma conta Firebase (gratuita)
- Uma chave privada de Conta de Serviço do Firebase com as permissões
cloudmessaging.messages.createefirebase.projects.get- Se não tiver uma, siga os passos para criar uma chave privada de Conta de Serviço do Firebase
- Se você já possui uma chave privada, verifique as permissões existentes
Criar uma chave privada de Conta de Serviço do Firebase \
Criar ou abrir seu Projeto Firebase
Vá para o seu console do Firebase e crie ou selecione um projeto.

Habilitar a API Firebase Cloud Messaging V1
Em Project settings, selecione a aba Cloud Messaging.
Verifique o status da API Firebase Cloud Messaging (V1):

- Se exibir Enabled (marca verde), continue para o próximo passo.
- Se exibir Disabled, clique no menu de 3 pontos > Manage API in Google Cloud Console. No Google Cloud Console, clique em Enable e aguarde até que a marca verde apareça com “API Enabled”.

Este é um bom momento para verificar se sua Conta de Serviço do Firebase tem as permissões necessárias:
cloudmessaging.messages.createfirebase.projects.get
Carregar a chave privada de Conta de Serviço no OneSignal
No seu painel do OneSignal:Abrir as configurações de Android
Vá para Settings > Push & In-App > Platforms > Google Android (FCM).Clique em Activate (configuração inicial) ou Settings (se o Android já estiver configurado).

Carregar sua chave privada de Conta de Serviço
Clique em Select file e escolha a chave privada 
.json que você salvou na seção anterior.
Seu aplicativo OneSignal agora está conectado ao Firebase Cloud Messaging (V1). A seguir, siga a Configuração do SDK Mobile para o SDK que você está usando para instalar e inicializar o OneSignal no seu aplicativo.
Perguntas Frequentes
Como verifico as permissões da minha Conta de Serviço? \
As permissões da Conta de Serviço são gerenciadas no Google Cloud Console, não no console do Firebase. A Conta de Serviço cuja chave privada você carrega no OneSignal deve ter ambas:cloudmessaging.messages.create— concedida por Firebase Cloud Messaging API Admin (roles/firebasecloudmessaging.admin).firebase.projects.get— concedida por Firebase Viewer (roles/firebase.viewer).
roles/firebase.admin), Editor ou Owner também incluem ambas as permissões e satisfazem o requisito. Para Contas de Serviço dedicadas apenas ao OneSignal, prefira o par estreito acima para limitar o impacto se a chave privada for exposta.
Se o painel do OneSignal exibir Invalid request após o upload da chave privada da Conta de Serviço, papéis ausentes são a causa mais comum.
Abrir IAM no Google Cloud Console
Faça login no Google Cloud Console, selecione o projeto vinculado ao seu aplicativo Firebase e vá para IAM & Admin > IAM.
Encontrar sua Conta de Serviço
Corresponda o e-mail do principal ao campo
client_email na chave privada carregada.Adicionar quaisquer papéis ausentes
Clique no ícone de lápis (editar) e clique em Add another role para adicionar qualquer dos papéis se ainda não estiver atribuído.
Por que estou vendo “This configuration is for a different Firebase Project”?
Este erro ocorre quando a chave privada carregada pertence a um projeto Firebase diferente (um Sender ID diferente). Solução: Use a chave privada do projeto Firebase original. Se não estiver disponível, entre em contato comsupport@onesignal.com com seu App ID. Trocar projetos redefine os tokens push. Seus usuários devem reabrir o aplicativo para receber push novamente.
Posso alterar meu Sender ID?
Sim, mas isso impactará seus usuários existentes. Os tokens de dispositivo estão vinculados ao Sender ID original. Alterá-lo invalidará os tokens existentes. Se precisar de ajuda, entre em contato comsupport@onesignal.com com seu App ID.
Por que não vejo um Sender ID no OneSignal?
Se sua chave de servidor Firebase se parece comAIz..., você provavelmente está usando uma configuração desatualizada do Google Cloud Messaging (GCM). Crie um novo projeto Firebase e carregue uma chave privada de Conta de Serviço.
Preciso atualizar meu código ao mudar para FCM V1?
Nenhuma alteração no aplicativo ou no SDK é necessária. Esta é uma atualização apenas no painel.Qual é o prazo para mudar para FCM V1?
As APIs legadas do FCM do Google estão agora totalmente descontinuadas. Se você ainda está usando as APIs legadas, deve migrar para o FCM V1 imediatamente.Como posso verificar quais aplicativos ainda usam a API legada?
Chame a API View an app para cada aplicativo e verifique o campofcm_v1_service_account_json na resposta:
- Presente e não vazio: o aplicativo está no FCM V1.
- Ausente ou vazio: o aplicativo não está configurado para FCM V1. Se o aplicativo envia push Android, ainda está na API legada e deve ser migrado.
O que é Firebase Cloud Messaging e por que o OneSignal precisa de uma chave privada de Conta de Serviço? \
Firebase Cloud Messaging (FCM) é o serviço do Google para entregar notificações push a dispositivos Android. Uma Conta de Serviço é uma identidade do Google que o OneSignal usa para se autenticar no seu projeto Firebase, e sua chave privada é um arquivo JSON que comprova a identidade. Carregar a chave privada autoriza o OneSignal a enviar push pelo Firebase em seu nome. Para mais detalhes, veja a documentação de Conta de Serviço do Google.Páginas relacionadas
Configuração do SDK Mobile
Instale e inicialize o SDK do OneSignal no seu aplicativo Android.
Configuração de push mobile
Passos de configuração específicos para Android, iOS e outras plataformas mobile.
Configuração de push Huawei
Autorize o OneSignal a enviar push para aplicativos Huawei distribuídos pela Huawei App Gallery.
Configuração de push web
Configure notificações push para sites.

