FCM si basa sul seguente insieme di componenti che generano, trasportano e ricevono messaggi:
Strumenti per comporre o creare richieste di messaggi. Il generatore di notifiche offre un'opzione basata su GUI per la creazione di richieste di notifica. Per l'automazione completa e il supporto di tutti 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 può essere Cloud Functions for Firebase, App Engine o il tuo server app.
Il backend FCM, che (tra le altre funzioni) accetta richieste di messaggi, esegue la distribuzione dei messaggi tramite argomenti e genera metadati dei messaggi come l'ID messaggio.
Un livello di trasporto a livello di piattaforma, che indirizza 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:
- Livello di trasporto Android (ATL) per dispositivi Android con Google Play Services
- Servizio di notifiche push di Apple (APN) per i dispositivi Apple
Protocollo web push 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/in background dell'app e a qualsiasi logica di 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 in downstream.
- Invia un messaggio. Il server dell'app invia messaggi all'app client:
- Il messaggio viene composto nel riquadro di composizione delle notifiche o in un ambiente attendibile e una richiesta di messaggio viene inviata al backend di 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: