Ambiente del server e FCM

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

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

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

Requisiti per l'ambiente server attendibile

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

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

Credenziali richieste per il progetto Firebase

A seconda delle funzionalità di FCM che implementi, potresti aver bisogno delle seguenti credenziali del tuo progetto Firebase:

Credenziale Descrizione
ID progetto Un identificatore univoco per il tuo progetto Firebase, utilizzato nelle richieste all'endpoint HTTP FCM v1. Questo valore è disponibile nel riquadro Firebase console Impostazioni.
Token di registrazione Una stringa di token univoca che identifica ogni istanza dell'app client. Il token di registrazione è necessario per la messaggistica su un singolo dispositivo e su un gruppo di dispositivi. Tieni presente che i token di registrazione devono essere mantenuti segreti.
ID mittente Un valore numerico univoco creato quando crei il progetto Firebase, disponibile nella scheda Cloud Messaging del riquadro Impostazioni della console Firebase. L'ID mittente è uguale al numero di progetto. L'ID mittente viene utilizzato per identificare ogni mittente che può inviare messaggi all'app client.
Token di accesso Un token OAuth 2.0 di breve durata che autorizza le richieste all'API HTTP v1. Questo token è associato a un account di servizio che appartiene al tuo progetto Firebase. Per creare e ruotare i token di accesso, segui i passaggi descritti in Autorizzare le richieste di invio.

Scegli un'opzione server

Dovrai decidere come interagire con i server FCM: utilizzando l'Firebase Admin SDK o l'API HTTP v1 di FCM. Grazie al supporto di linguaggi di programmazione diffusi e ai metodi pratici per la gestione dell'autenticazione e dell'autorizzazione, Firebase Admin SDK è il metodo consigliato.

Le opzioni per interagire con i server FCM includono:

Firebase Admin SDK

Firebase Admin SDK 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
  • Inviare messaggi ai gruppi di dispositivi
  • Iscrivere e annullare l'iscrizione di dispositivi agli argomenti
  • Costruire payload dei messaggi personalizzati per piattaforme di destinazione diverse

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

API FCM HTTP v1

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

Per inviare un messaggio, il server dell'app invia 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, vedi Inviare un messaggio utilizzando l'API HTTP v1 FCM.