Panoramica architettonica di FCM

FCM si basa sul seguente set di componenti che creano, trasportano e ricevono messaggi:

  1. 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.

    Un diagramma dei tre livelli dell'architettura descritti in questa pagina.

  2. 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.

  3. 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

  4. 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:
      1. Il messaggio viene composto nel compositore delle notifiche o in un ambiente attendibile e una richiesta di messaggio viene inviata al backend FCM.
      2. 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.
      3. Quando il dispositivo è online, il messaggio viene inviato al dispositivo tramite il livello di trasporto specifico della piattaforma.
      4. Nel dispositivo l'app client riceve il messaggio o la notifica.