FCM si basa sul seguente insieme di componenti che creano, trasportano e ricevono i messaggi:
Strumenti per comporre o creare richieste di messaggi. Il Notifications Composer fornisce un'opzione basata su GUI per la creazione di richieste di notifica. Per l'automazione completa e il supporto di tutti i tipi di messaggi, devi creare richieste di messaggi in un ambiente server attendibile che supporti l'SDK Firebase Admin o il protocollo del server FCM. Questo ambiente potrebbe essere Cloud Functions for Firebase, App Engine o il tuo server dell'app.

Il backend FCM che, tra le altre funzioni, accetta le richieste di messaggi, esegue il fanout dei messaggi tramite gli argomenti e genera i metadati dei messaggi, come l'ID messaggio.
Un livello di trasporto a livello di piattaforma, che instrada il messaggio al dispositivo di destinazione, gestisce il recapito dei messaggi e applica la configurazione specifica della piattaforma, se opportuno. Questo livello di trasporto include:
- Android Transport Layer (ATL) per dispositivi Android con Google Play Services
- Servizio di notifiche push di Apple (APNs) per i dispositivi Apple
Protocollo di push web per le app web
L'SDK FCM sul dispositivo dell'utente, dove viene visualizzata la notifica o il messaggio viene gestito in base allo stato in primo piano/background dell'app e a qualsiasi logica dell'applicazione pertinente.
Flusso del ciclo di vita
- Registra i dispositivi per ricevere messaggi da FCM. Un'istanza di un'app client si registra per ricevere messaggi, ottenendo un token di registrazione che identifica in modo univoco l'istanza dell'app.
- Inviare e ricevere messaggi downstream.
- Invia un messaggio. Il server dell'app invia messaggi all'app client:
- Il messaggio viene composto in Notifications Composer o in un ambiente attendibile e una richiesta di messaggio viene inviata al backend FCM.
- Il backend FCM riceve la richiesta di messaggio, genera un ID messaggio e altri metadati e li invia al livello di trasporto specifico della piattaforma.
- Quando il dispositivo è online, il messaggio viene inviato al dispositivo tramite il livello di trasporto specifico della piattaforma.
- Sul dispositivo, l'app client riceve il messaggio o la notifica.
- Invia un messaggio. Il server dell'app invia messaggi all'app client: