FCM si basa sul seguente insieme di componenti che creano, trasportano e ricevono messaggi:
Strumenti per comporre o creare richieste di messaggi. Il compositore di notifiche 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 server FCM. Questo ambiente potrebbe essere Cloud Functions for Firebase, App Engine, o il tuo server delle app.
Il backend di FCM, che (tra le altre funzioni) accetta le 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 esegue il routing del messaggio al dispositivo di destinazione, gestisce il recapito dei messaggi e applica la configurazione specifica della piattaforma, se appropriato. Questo livello di trasporto include:
- Livello di trasporto Android (ATL) per dispositivi Android con Google Play Services
- Servizio di notifiche push di Apple (APNs) per i dispositivi Apple
Protocollo web push per le app web
L'SDK FCM sul dispositivo dell'utente, in cui viene visualizzata la notifica o il messaggio viene gestito in base allo stato di 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 nel compositore di notifiche o in un ambiente attendibile e viene inviata una richiesta di messaggio al backend FCM.
- Il backend FCM riceve la richiesta di messaggio, genera un ID messaggio e altri metadati e lo 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: