Il tuo ambiente server e FCM
Il lato server di Firebase Cloud Messaging è costituito da due componenti:
- Il backend FCM fornito da Google.
- Il tuo server dell'app o un altro ambiente server attendibile in cui viene eseguita la logica del server, come Cloud Functions for Firebase o altri ambienti cloud gestiti da Google.
Il tuo server app o l'ambiente server attendibile invia richieste di messaggi al backend FCM, che quindi instrada i messaggi alle app client in esecuzione sui dispositivi degli utenti.
Requisiti per l'ambiente server attendibile
L'ambiente del server delle applicazioni deve soddisfare i seguenti criteri:
- In grado di inviare richieste di messaggi formattati correttamente al backend FCM.
- In grado di gestire le richieste e inviarle nuovamente utilizzando il backoff esponenziale.
- In grado di archiviare in modo sicuro le credenziali di autorizzazione del server e i token di registrazione del client.
Scelta di un'opzione del server
Dovrai decidere come interagire con i server FCM: utilizzando Firebase Admin SDK o il protocollo raw. Grazie al supporto dei linguaggi di programmazione più 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 quanto segue:
- Firebase Admin SDK, che supporta Node , Java , Python , C# e Go .
- L' API HTTP v1 FCM , un'API REST con autorizzazione sicura e funzionalità di messaggistica flessibili multipiattaforma (l'SDK di amministrazione di Firebase si basa su questo protocollo e offre tutti i suoi vantaggi intrinseci).
SDK di amministrazione Firebase per FCM
L'API Admin FCM gestisce l'autenticazione con il backend e facilita l'invio di messaggi e la gestione delle sottoscrizioni agli argomenti. Con Firebase Admin SDK puoi:
- Invia messaggi a singoli dispositivi
- Invia messaggi ad argomenti e dichiarazioni condizionali che corrispondono a uno o più argomenti.
- Iscrivere e annullare l'iscrizione dei dispositivi agli e dagli argomenti
- Costruisci payload di messaggi su misura per diverse piattaforme target
L'SDK Admin Node.js fornisce metodi per inviare messaggi a gruppi di dispositivi.
Per configurare l'SDK di Firebase Admin, consulta Aggiungere l'SDK di Firebase Admin al tuo server . Se hai già un progetto Firebase, inizia con Aggiungi l'SDK . Inoltre, assicurati di abilitare l'API Cloud Messaging nella pagina delle impostazioni di Cloud Messaging per il tuo progetto. Quindi, una volta installato Firebase Admin SDK, puoi iniziare a scrivere la logica per creare richieste di invio .
Protocollo server FCM
FCM fornisce l' API FCM HTTP v1 per gli sviluppatori che preferiscono un protocollo server raw.
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, vedere Compilare richieste di invio dell'app server