Panoramica dell'architettura FCM

FCM si basa sul seguente insieme di componenti che generano, trasportano e ricevono messaggi:

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

    Un diagramma dei tre livelli di architettura descritti in questa pagina.

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

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

  4. 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:
      1. 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.
      2. 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.
      3. Quando il dispositivo è online, il messaggio viene inviato al dispositivo tramite il livello di trasporto specifico della piattaforma.
      4. Sul dispositivo, l'app client riceve il messaggio o la notifica.