O ambiente de servidor e o FCM

O lado do servidor do Firebase Cloud Messaging consiste em dois componentes:

  • O back-end do FCM fornecido pelo Google.
  • Seu servidor do app ou outro ambiente servidor confiável em que sua lógica de servidor é executada, como o Cloud Functions para Firebase ou outros ambientes de nuvem gerenciados pelo Google.

O servidor do app ou ambiente servidor confiável envia solicitações de mensagens para o back-end do FCM, que, em seguida, encaminha as mensagens para apps cliente em execução nos dispositivos dos usuários.

Requisitos do ambiente de servidor confiável

Seu ambiente de servidor do app precisa atender aos critérios a seguir:

  • Capacidade de enviar solicitações de mensagens formatadas corretamente para o back-end do FCM.
  • Capacidade de gerenciar solicitações e reenviá-las usando o recuo exponencial.
  • Capacidade de armazenar com segurança as credenciais de autorização do servidor e os tokens de registro do cliente.

Como escolher uma opção de servidor

Você precisará decidir como interagir com os servidores FCM: usando o Firebase Admin SDK ou o protocolo bruto. Devido ao suporte a linguagens de programação populares e a seus métodos convenientes para processar autenticação e autorização, o Firebase Admin SDK é o método recomendado.

Opções para interagir com os servidores FCM incluem o seguinte:

Firebase Admin SDK para FCM

A API do Admin FCM manipula a autenticação com o back-end e facilita o envio de mensagens e o gerenciamento de assinaturas de tópicos. Com o Firebase Admin SDK, é possível:

  • enviar mensagens para dispositivos individuais;
  • enviar mensagens para tópicos e declarações de condição que correspondam a um ou mais tópicos;
  • assinar e cancelar a assinatura de dispositivos de e para tópicos;
  • criar payloads de mensagens adaptados a diferentes plataformas de destino.

O SDK Admin para Node.js fornece métodos para enviar mensagens a grupos de dispositivos.

Para configurar o Firebase Admin SDK, consulte Adicionar o Firebase Admin SDK para servidor. Se você já tem um projeto do Firebase, comece com Adicionar o SDK. Além disso, ative a API Cloud Messaging na página de configurações do Cloud Messaging do seu projeto. Em seguida, depois que o Firebase Admin SDK for instalado, comece a escrever a lógica para criar solicitações de envio.

Protocolo do servidor FCM

O FCM fornece a API HTTP v1 do FCM para desenvolvedores que preferem um protocolo de servidor bruto.

Para enviar uma mensagem, o servidor do app emite uma solicitação POST com um cabeçalho HTTP e um corpo HTTP composto por pares de chave-valor JSON. Para detalhes sobre as opções de cabeçalho e corpo, consulte Criar solicitações de envio do servidor de apps.