Usar o Firebase Cloud Messaging (FCM) com chrome.gcm

Você pode enviar e receber mensagens para usuários finais com chrome.gcm (em inglês). Como ele foi construído sobre Firebase Cloud Messaging (FCM): depende de um serviço externo de que você precisa; para configurar. Este guia de instruções orienta você em todas as etapas necessárias para obter está funcionando na sua extensão.

Embora o chrome.gcm ainda seja compatível, ele foi criado há mais de uma década padrão Push. Em geral, é sempre uma prática recomendada usar a Web em vez de uma API específica para extensões. A menos que você tenha uma necessidade específica para usar chrome.gcm, recomendamos usar Push.

Pré-requisitos

Para usar o chrome.gcm, você precisa configurar uma conta do Firebase do Compute Engine.

página inicial do Firebase.com.
Página inicial do Firebase.com

Depois de criar uma conta, abra sua conta do Firebase console e selecione um projeto existente para usar ou crie um novo para sua extensão.

Captura de tela das listagens de projetos no Console do Firebase.
Detalhes do projeto no Console do Firebase

Prossiga para a página de configurações do Cloud Messaging.

Captura de tela de uma página de configurações do Firebase Cloud Messaging.
Página de configurações do Firebase Cloud Messaging

Se você já tem uma conta de mensagens na nuvem neste projeto, copie o ID numérico do remetente listado.

Se você não tiver ativado as mensagens na nuvem, será necessário ativar a API Firebase API Cloud Messaging para o projeto dentro do Google Cloud. Nos seguintes imagem, você poderá ver onde há um link diretamente para essa página na página configurações.

Captura de tela do local do link para ativar a API Firebase Messaging no Google Cloud.
Abrir o link de configurações do Google Cloud no Firebase

Depois de ativar, volte à página de configurações do Cloud "Mensagens" e copie o ID do remetente.

Configurar o chrome.gcm

Agora que você tem o ID de remetente do Firebase, pode configurar sua extensão para detectar mensagens. Para começar, verifique se você adicionou o gcm permissão ao manifest.json da sua extensão

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

Agora você tem acesso à API chrome.gcm. Você pode se registrar para ouvir notificações push mensagens chamando chrome.gcm.register

Ouvir mensagens

Depois que a extensão registrar seu ID de remetente, você precisará adicionar um código para processar as mensagens recebidas.

Firebase sem Firebase

Embora o chrome.gcm sempre passe pelo Firebase, ele pode ser configurado para atuam como um proxy para fornecedores externos de mensagens push. Normalmente, os fornecedores explicitamente o suporte para extensões do Google Chrome, mas qualquer fornecedor que ofereça As notificações push legadas do Firebase devem funcionar. Se o provedor listar suporte para notificações push legadas do Firebase, faça um teste. Se você tiver problemas, o suporte dos provedores deve ser capaz de esclarecer quaisquer restrições que estaria em vigor.

Em canais e tópicos

chrome.gcm está usando as APIs legadas do Firebase Messaging. Isso é importante porque a API legada não é compatível com canais de mensagens. Todas as mensagens push vai para todos os clientes. Se a extensão de um usuário só tiver interesse em um subconjunto de mensagens, faça a filtragem por conta própria.

Embora o Firebase tenha começado como uma conta sem custo financeiro, você será cobrado quando ultrapassar um um determinado limite de uso. Se você planeja enviar mensagens para grupos específicos, a filtragem do lado do cliente pode acabar custando mais do que o garantido. Você pode contorná-lo criando vários projetos para replicar canais individuais (um projeto e um ID de remetente para cada canal). Qualquer extensão pode registrar-se para vários IDs de remetente, até 100.

Como alternativa, se você precisar do suporte para canais ou quiser usar as notificações push sem passar pelo Firebase, é possível usar a API Push.