Panoramica architettonica di FCM

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

  1. 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 per tutti i tipi di messaggi , è necessario creare richieste di messaggi in un ambiente server affidabile che supporti Firebase Admin SDK o i protocolli del server FCM. Questo ambiente potrebbe essere Cloud Functions per 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 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 dei messaggi e applica la configurazione specifica della piattaforma, se del caso. Questo livello di trasporto include:

    • Livello di trasporto Android (ATL) per dispositivi Android con servizi Google Play
    • Servizio di notifica push di Apple (APN) per dispositivi Apple
    • Protocollo web push per app web

  4. L'SDK FCM sul dispositivo dell'utente, in cui viene visualizzata la notifica o il messaggio viene gestito 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 a valle .
    • Mandare un messaggio. Il server dell'app invia messaggi all'app client:
      1. Il messaggio viene composto, nel compositore di notifiche o in un ambiente attendibile, e una richiesta di messaggio viene inviata al backend di FCM.
      2. Il backend FCM riceve la richiesta del 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. Sul dispositivo, l'app client riceve il messaggio o la notifica.