FCM si basa sul seguente set di componenti che creano, trasportano e ricevono messaggi:
Strumenti per comporre o creare richieste di messaggi. Il compositore di notifiche fornisce un'opzione basata sulla GUI per la creazione di richieste di notifica. Per l'automazione completa e il supporto per tutti i tipi di messaggi , devi creare richieste di messaggi in un ambiente server affidabile che supporti Firebase Admin SDK o il protocollo server FCM. Questo ambiente potrebbe 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 il fanout dei messaggi tramite argomenti e genera metadati del messaggio come l'ID del messaggio.
Un livello di trasporto a livello di piattaforma, che instrada il messaggio al dispositivo di destinazione, gestisce la consegna del messaggio e applica la configurazione specifica della piattaforma, ove appropriato. Questo livello di trasporto include:
- Livello di trasporto Android (ATL) per dispositivi Android con servizi Google Play
- Servizio Apple Push Notification (APN) per dispositivi Apple
Protocollo push Web per app Web
L'SDK FCM nel dispositivo dell'utente, dove viene visualizzata la notifica o gestito il messaggio in base allo stato in primo piano/in 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.
- Invia e ricevi messaggi downstream .
- Mandare un messaggio. Il server dell'app invia messaggi all'app client:
- Il messaggio viene composto nel compositore delle notifiche 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 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.
- Nel dispositivo l'app client riceve il messaggio o la notifica.
- Mandare un messaggio. Il server dell'app invia messaggi all'app client: