Il lato server di Firebase Cloud Messaging è costituito da due componenti:
- Il FCM backend fornito da Google.
- Il 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 le richieste di messaggi al FCM backend, che poi le indirizza alle app client in esecuzione sui dispositivi degli utenti.
Utilizzando i protocolli del server delle app Firebase Admin SDK o FCM, puoi creare richieste di messaggi e inviarle a questi tipi di target:
- Nome argomento
- Condizione
- Token di registrazione FCM
- Nome gruppo di dispositivi (solo protocollo)
Puoi inviare messaggi con un payload di notifica composto da campi predefiniti, un payload di dati dei tuoi campi definiti dall'utente o un messaggio contenente entrambi i tipi di payload. Per ulteriori informazioni, consulta Tipi di messaggi.
Requisiti per l'ambiente server attendibile
L'ambiente del server delle app deve soddisfare i seguenti criteri:
- Deve essere in grado di inviare richieste di messaggi formattate correttamente al FCM backend.
- Deve essere in grado di gestire le richieste e di inviarle nuovamente 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.
Credenziali richieste per il progetto Firebase
A seconda delle funzionalità FCM che implementi, potresti aver bisogno delle seguenti credenziali del tuo progetto Firebase:
| Qualifica | Descrizione |
|---|---|
| ID progetto | Un identificatore univoco per il tuo progetto Firebase, utilizzato nelle richieste all'endpoint HTTP v1 FCM. Questo valore è disponibile nel Firebase riquadro Impostazioni della console. |
| Token di registrazione | Una stringa di token univoca che identifica ogni istanza dell'app client. Il token di registrazione è obbligatorio per la messaggistica di una singola istanza dell'app e di 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 Firebase console Impostazioni. L'ID mittente è uguale al numero del 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. |
Scegliere un'opzione server
Dovrai decidere come interagire con i FCM server: utilizzando Firebase Admin SDK o l'API HTTP v1 di FCM. L'SDK Admin Firebase è il metodo consigliato perché supporta i linguaggi di programmazione più diffusi e offre metodi pratici per la gestione dell'autenticazione e dell'autorizzazione.Firebase Admin SDK
Le opzioni per interagire con FCM server includono:
Il Firebase Admin SDK, che supporta Node, Java, Python, C# e Go.
L'API HTTP v1 di FCM, un'API REST con autorizzazione sicura e funzionalità di messaggistica multipiattaforma flessibili (l'Firebase Admin SDK si basa su questo protocollo e offre tutti i suoi vantaggi intrinseci).
Firebase Admin SDK
Il Firebase Admin SDK gestisce l'autenticazione con il backend e facilita l'invio di messaggi e la gestione delle sottoscrizioni agli argomenti. Con Firebase Admin SDK, puoi:
- Inviare messaggi a singole istanze dell'app
- Inviare messaggi ad argomenti e istruzioni di condizione che corrispondono a uno o più argomenti
- Inviare messaggi a gruppi di dispositivi
- Iscrivere e annullare l'iscrizione delle istanze dell'app agli argomenti
- Creare payload di messaggi personalizzati per diverse piattaforme di destinazione
Per configurare Firebase Admin SDK, consulta Aggiungere Firebase Admin SDK al tuo server. Se hai già un progetto Firebase, inizia con Aggiungere l'SDK. Inoltre, assicurati di abilitare 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 le richieste di invio.
FCM API HTTP v1
FCM fornisce l'FCM HTTP v1 API per gli sviluppatori che preferiscono un protocollo server non elaborato.
Per inviare un messaggio, il server delle 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, consulta Inviare un messaggio utilizzando FCM l'API HTTP v1.