Para começar a usar o FCM, crie o caso de uso mais simples: enviar uma mensagem de notificação para um usuário específico quando o app está em segundo plano no dispositivo. Esta página descreve todas as etapas para fazer isso, desde a configuração até a verificação. Talvez ela aborde etapas que você já concluiu, se configurou um app cliente JavaScript para o FCM.
Configurar o SDK
Adicione o Firebase ao projeto JavaScript, caso ainda não tenha feito isso.
Acessar o token de registro
Quando você precisar recuperar o token de registro atual de uma instância de app, primeiro
solicite permissões de notificações do usuário com Notification.requestPermission()
.
Quando chamado conforme mostrado, se a permissão for concedida, retorna um token. Caso seja recusada, rejeita a promessa:
function requestPermission() { console.log('Requesting permission...'); Notification.requestPermission().then((permission) => { if (permission === 'granted') { console.log('Notification permission granted.');
O FCM exige um arquivo firebase-messaging-sw.js
.
A menos que você já tenha um arquivo firebase-messaging-sw.js
, crie um arquivo vazio
com esse nome e coloque-o na raiz do domínio antes de recuperar um token.
Você pode adicionar conteúdo significativo ao arquivo posteriormente no processo de configuração do cliente.
Para recuperar o token atual:
Web
import { getMessaging, getToken } from "firebase/messaging"; // Get registration token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. const messaging = getMessaging(); getToken(messaging, { vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { if (currentToken) { // Send the token to your server and update the UI if necessary // ... } else { // Show permission request UI console.log('No registration token available. Request permission to generate one.'); // ... } }).catch((err) => { console.log('An error occurred while retrieving token. ', err); // ... });
Web
// Get registration token. Initially this makes a network call, once retrieved // subsequent calls to getToken will return from cache. messaging.getToken({ vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => { if (currentToken) { // Send the token to your server and update the UI if necessary // ... } else { // Show permission request UI console.log('No registration token available. Request permission to generate one.'); // ... } }).catch((err) => { console.log('An error occurred while retrieving token. ', err); // ... });
Depois de receber o token, envie-o para o servidor do app e armazene-o usando seu método preferido.
Enviar uma mensagem de notificação de teste
Instale e execute o app no dispositivo de destino. Para dispositivos Apple, será necessário aceitar a solicitação de permissão para receber notificações remotas.
Verifique se o app está em segundo plano no dispositivo.
No console do Firebase, abra a página Mensagens.
Se esta for sua primeira mensagem, selecione Criar primeira campanha.
- Selecione Mensagens do Firebase Notificações e clique em Criar.
Se não for sua primeira mensagem, selecione Nova campanha e depois Notificações na guia Campanhas.
Digite o texto da mensagem. Todos os outros campos são opcionais.
Selecione Enviar mensagem de teste no painel à direita.
No campo Adicionar um token de registro do FCM, insira o token de registro obtido na seção anterior deste guia.
Selecione Testar.
Depois de selecionar Testar, o dispositivo cliente de destino com o app em segundo plano receberá a notificação.
Próximas etapas
Enviar mensagens aos apps em primeiro plano
Depois de enviar mensagens de notificação enquanto o app está em segundo plano, consulte Receber mensagens em um cliente JavaScript e confira como enviar para aplicativos em primeiro plano.
Adicionar outros comportamentos além das mensagens de notificação
Para ir além das notificações e adicionar outros comportamentos mais avançados ao seu app, consulte os seguintes artigos: