FCM se basa en el siguiente conjunto de componentes que crean, transportan y reciben mensajes:
Herramientas para redactar o crear solicitudes de mensajes. El compositor de notificaciones proporciona una opción basada en GUI para crear solicitudes de notificación. Para lograr una automatización completa y compatibilidad con todos los tipos de mensajes , debes crear solicitudes de mensajes en un entorno de servidor confiable que admita el SDK de Firebase Admin o el protocolo de servidor FCM. Este entorno podría ser Cloud Functions para Firebase, App Engine o su propio servidor de aplicaciones.
El backend de FCM, que (entre otras funciones) acepta solicitudes de mensajes, realiza la distribución de mensajes a través de temas y genera metadatos de mensajes, como el ID del mensaje.
Una capa de transporte a nivel de plataforma, que enruta el mensaje al dispositivo de destino, maneja la entrega de mensajes y aplica la configuración específica de la plataforma cuando corresponde. Esta capa de transporte incluye:
- Capa de transporte de Android (ATL) para dispositivos Android con servicios de Google Play
- Servicio de notificaciones push de Apple (APN) para dispositivos Apple
Protocolo web push para aplicaciones web
El SDK de FCM en el dispositivo del usuario, donde se muestra la notificación o el mensaje se maneja según el estado de primer plano/fondo de la aplicación y cualquier lógica de aplicación relevante.
Flujo del ciclo de vida
- Registre dispositivos para recibir mensajes de FCM . Una instancia de una aplicación cliente se registra para recibir mensajes y obtiene un token de registro que identifica de forma única la instancia de la aplicación.
- Enviar y recibir mensajes posteriores .
- Enviar un mensaje. El servidor de aplicaciones envía mensajes a la aplicación cliente:
- El mensaje se redacta, ya sea en el redactor de notificaciones o en un entorno confiable, y se envía una solicitud de mensaje al backend de FCM.
- El backend de FCM recibe la solicitud de mensaje, genera un ID de mensaje y otros metadatos y los envía a la capa de transporte específica de la plataforma.
- Cuando el dispositivo está en línea, el mensaje se envía al dispositivo a través de la capa de transporte específica de la plataforma.
- En el dispositivo, la aplicación cliente recibe el mensaje o notificación.
- Enviar un mensaje. El servidor de aplicaciones envía mensajes a la aplicación cliente: