Tu entorno de servidor y FCM

El servidor de Firebase Cloud Messaging consta de dos componentes:

  • El backend de FCM que proporciona Google
  • Tu servidor de apps, o bien otro entorno de servidor de confianza, en el que se ejecuta la lógica del servidor, como Cloud Functions para Firebase o entornos de nube administrados por Google

El servidor de apps o el entorno de servidor de confianza envía solicitudes de mensajes al backend de FCM, que luego envía mensajes a las apps cliente que se ejecutan en los dispositivos de los usuarios.

Requisitos del entorno de servidor de confianza

El entorno del servidor de apps debe cumplir con los siguientes criterios:

  • Poder enviar solicitudes de mensajes con el formato correcto al backend de FCM
  • Poder administrar solicitudes y reenviarlas con una retirada exponencial
  • Poder almacenar las credenciales de autorización del servidor y los tokens de registro de cliente de forma segura

Credenciales requeridas para el proyecto de Firebase

Según las funciones de FCM que implementes, es posible que necesites las siguientes credenciales de tu proyecto de Firebase:

Credencial Descripción
ID del proyecto Es un identificador único para tu proyecto de Firebase, que se usa en las solicitudes al extremo HTTP v1 de FCM. Este valor está disponible en el panel Configuración de Firebase console.
Token de registro Es una cadena de token única que identifica cada instancia de la app cliente. El token de registro es obligatorio para la mensajería a dispositivos individuales y a grupos de dispositivos. Ten en cuenta que los tokens de registro se deben mantener en secreto.
ID de remitente Un valor numérico único que se genera cuando creas tu proyecto de Firebase, disponible en la pestaña Cloud Messaging del panel Configuración de Firebase console. El ID del remitente es el mismo que el número del proyecto. El ID de remitente se usa para identificar cada remitente que puede enviar mensajes a la app cliente.
Token de acceso Un token de OAuth 2.0 de corta duración que autoriza las solicitudes a la API de HTTP v1. Este token se asocia a una cuenta de servicio que pertenece a tu proyecto de Firebase. Para crear y rotar tokens de acceso, sigue los pasos que se describen en Autoriza solicitudes de envío.

Elige una opción de servidor

Deberás decidir de qué manera interactuar con los servidores de FCM: a través de Firebase Admin SDK o la API de HTTP v1 de FCM. Firebase Admin SDK es el método recomendado, ya que es compatible con lenguajes de programación populares y cuenta con métodos útiles para controlar la autenticación y la autorización.

Para interactuar con los servidores de FCM, puedes usar las siguientes opciones:

Firebase Admin SDK

El objeto Firebase Admin SDK controla la autenticación con el backend y facilita el envío de mensajes y la administración de suscripciones a temas. Con el Firebase Admin SDK, puedes hacer lo siguiente:

  • Enviar mensajes a dispositivos individuales
  • Enviar mensajes a temas y declaraciones de estado que coincidan con uno o más temas
  • Envía mensajes a grupos de dispositivos
  • Suscribir dispositivos a temas y anular suscripciones a ellos
  • Generar cargas útiles de mensaje adaptadas a distintas plataformas de destino

Para configurar el Firebase Admin SDK, consulta Agrega el Firebase Admin SDK a tu servidor. Si ya tienes un proyecto de Firebase, primero consulta Agrega el SDK. Además, asegúrate de habilitar la API de Firebase Cloud Messaging (V1) en la página de configuración de Cloud Messaging de tu proyecto. Luego, una vez que el Firebase Admin SDK esté instalado, podrás comenzar a escribir lógica para crear solicitudes de envío.

API de HTTP v1 de FCM

FCM proporciona la API de HTTP v1 de FCM para los desarrolladores que prefieren un protocolo de servidor sin procesar.

Para enviar un mensaje, el servidor de apps envía una solicitud POST con un encabezado HTTP y un cuerpo HTTP compuesto por pares clave-valor JSON. Para obtener detalles sobre las opciones de encabezado y cuerpo, consulta Envía un mensaje con la API de HTTP v1 de FCM.