L'ambiente del server e FCM

Il lato server di Firebase Cloud Messaging è costituito da due componenti:

  • Il backend FCM fornito da Google.
  • Il tuo server app o un altro ambiente server attendibile in cui viene eseguita la logica del server, come Cloud Functions per Firebase o altri ambienti cloud gestiti da Google.

Il server dell'app o l'ambiente del server attendibile invia richieste di messaggi al backend FCM, che poi inoltra i messaggi alle app client in esecuzione sui dispositivi degli utenti.

Requisiti per l'ambiente del server attendibile

L'ambiente del server dell'app deve soddisfare i seguenti criteri:

  • Deve essere in grado di inviare richieste di messaggi formattate correttamente al backend FCM.
  • Essere in grado di gestire le richieste e inviarle di nuovo utilizzando il backoff esponenziale.
  • Deve essere in grado di archiviare in modo sicuro le credenziali di autorizzazione del server e i token di registrazione del client.

Scelta di un'opzione di server

Devi decidere un modo per interagire con i server FCM: utilizzando Firebase Admin SDK o il protocollo non elaborato. Grazie al supporto dei linguaggi di programmazione più diffusi e ai metodi di praticità per gestire l'autenticazione e l'autorizzazione, Firebase Admin SDK è il metodo consigliato.

Le opzioni per interagire con i server FCM includono:

  • Firebase Admin SDK, che supporta Node, Java, Python, C#, e Go.
  • L' API FCM HTTP v1, un'API REST con autorizzazione sicura e funzionalità di messaggistica cross-platform flessibili (Firebase Admin SDK si basa su questo protocollo e offre tutti i suoi vantaggi intrinseci).

Firebase Admin SDK per FCM

L'API FCM per gli amministratori gestisce l'autenticazione con il backend e facilita l'invio di messaggi e la gestione delle iscrizioni agli argomenti. Con Firebase Admin SDK puoi:

  • Inviare messaggi a singoli dispositivi
  • Invia messaggi a argomenti e istruzioni condizionali che corrispondono a uno o più argomenti.
  • Iscrivere e annullare l'iscrizione dei dispositivi agli argomenti e viceversa
  • Creare payload dei messaggi personalizzati per piattaforme di destinazione diverse

L'SDK Node.js Admin fornisce metodi per l'invio di messaggi ai gruppi di dispositivi.

Per configurare il Firebase Admin SDK, vedi Aggiungere il Firebase Admin SDK al server. Se hai già un progetto Firebase, inizia con Aggiungi l'SDK. Inoltre, assicurati di attivare l'API Cloud Messaging nella pagina delle impostazioni di Cloud Messaging per il tuo progetto. Una volta installato Firebase Admin SDK, puoi iniziare a scrivere la logica per generare richieste di invio.

Protocollo del server FCM

FCM fornisce l' FCM API HTTP v1 per gli sviluppatori che preferiscono un protocollo server non elaborato.

Per inviare un messaggio, il server dell'app emette una richiesta POST con un'intestazione HTTP e un corpo HTTP composto da coppie chiave-valore JSON. Per informazioni dettagliate sulle opzioni di intestazione e corpo, consulta Creare richieste di invio del server dell'app