了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Panoramica architettonica di FCM

FCM si basa sul seguente insieme di componenti che costruiscono, 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 e il supporto completi per tutti i tipi di messaggi , devi creare richieste di messaggi in un ambiente server attendibile che supporti l'SDK Firebase Admin 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 di 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 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 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.
  • Inviare e ricevere messaggi a valle .
    • Mandare un messaggio. Il server 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 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 tramite il livello di trasporto specifico della piattaforma al dispositivo.
      4. Sul dispositivo, l'app client riceve il messaggio o la notifica.