Panoramica dell'architettura FCM

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

  1. Strumenti per comporre o costruire richieste di messaggi. Il compositore di notifiche fornisce un'opzione basata su GUI per la creazione di richieste di notifica. Per la completa automazione e il supporto per tutti i tipi di messaggio , è necessario costruire le richieste di messaggio nella fiducia ambiente server che supporta la Firebase Admin SDK o dei protocolli 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 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 di notifica push di Apple (APN) per dispositivi iOS
    • Protocollo push web per app web

  4. L'SDK di FCM sul dispositivo dell'utente, in cui viene visualizzata la notifica o il messaggio viene gestito in base allo stato in primo piano/sfondo dell'app e a qualsiasi logica dell'applicazione pertinente.

Flusso del ciclo di vita

  • Registrati dispositivi per ricevere i messaggi di 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 a valle.
    • Mandare un messaggio. Il server dell'app invia messaggi all'app client:
      1. Il messaggio viene composto, nel compositore delle notifiche o nell'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 li invia al livello di trasporto specifico della piattaforma.
      3. Quando il dispositivo è online, il messaggio viene inviato tramite il livello di trasporto specifico della piattaforma al dispositivo.
      4. Sul dispositivo, l'app client riceve il messaggio o la notifica.