FCM se basa en el siguiente conjunto de componentes que crean, transportan y reciben mensajes:
Herramientas para redactar o generar solicitudes de mensajes. El compositor de notificaciones proporciona una opción basada en GUI para crear solicitudes de notificación. Para una automatización completa y compatibilidad con todos los tipos de mensajes , debe crear solicitudes de mensajes en un entorno de servidor confiable que admita Firebase Admin SDK o los protocolos 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 la 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 corresponda. 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 de acuerdo con 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 descendentes .
- Enviar un mensaje. El servidor de aplicaciones envía mensajes a la aplicación cliente:
- El mensaje se redacta, ya sea en el editor de notificaciones o en un entorno de confianza, y se envía una solicitud de mensaje al backend de FCM.
- El backend de FCM recibe la solicitud de mensaje, genera una 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 a través de la capa de transporte específica de la plataforma al dispositivo.
- En el dispositivo, la aplicación cliente recibe el mensaje o la notificación.
- Enviar un mensaje. El servidor de aplicaciones envía mensajes a la aplicación cliente: