El entorno del 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
Elige una opción de servidor
Deberás elegir una forma de interactuar con los servidores de FCM: ya sea a través de Firebase Admin SDK o el protocolo sin procesar. 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:
- El Firebase Admin SDK, que es compatible con Nodo, Java Python C# y Go.
- La API de HTTP v1 de FCM, una API de REST con autorización segura y funciones de mensajería multiplataforma flexibles (el Firebase Admin SDK se basa en este protocolo y proporciona todas sus ventajas inherentes).
Firebase Admin SDK para FCM
La API de Admin de FCM se encarga de 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
- Suscribir dispositivos a temas y anular suscripciones a ellos
- Generar cargas útiles de mensaje adaptadas a distintas plataformas de destino
El SDK de Admin de Node.js proporciona métodos para enviar mensajes a grupos de dispositivos.
Para configurar el Firebase Admin SDK, consulta Agrega el Firebase Admin SDK a tu servidor. Si ya tienes un proyecto de Firebase, consulta Agrega el SDK. Además, asegúrate de habilitar la API de Cloud Messaging en la página de configuración de Cloud Messaging del proyecto. Luego, una vez que el Firebase Admin SDK esté instalado, podrás comenzar a escribir lógica para crear solicitudes de envío.
Protocolo del servidor de FCM
FCM proporciona la API de HTTP v1 de FCM para 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 ver detalles sobre las opciones de encabezado y cuerpo, consulta Compila solicitudes de envío del servidor de apps.