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 altro ambiente server attendibile in cui viene eseguita la logica del server, ad esempio Cloud Functions per Firebase o altri ambienti cloud gestiti da Google.
L'app server o l'ambiente del server attendibile invia richieste di messaggi al back-end FCM, che quindi instrada i messaggi alle app client in esecuzione sui dispositivi degli utenti.
Requisiti per l'ambiente del server attendibile
Il tuo ambiente del server delle applicazioni deve soddisfare i seguenti criteri:
- In grado di inviare richieste di messaggi correttamente formattate 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 server
Dovrai decidere un modo per interagire con i server FCM: utilizzando l' SDK Firebase Admin o il protocollo raw. A causa del suo supporto attraverso i linguaggi di programmazione più diffusi e dei suoi metodi pratici per la gestione dell'autenticazione e dell'autorizzazione, l'SDK Firebase Admin è il metodo consigliato.
Le opzioni per l'interazione con i server FCM includono quanto segue:
- 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'SDK Firebase Admin si basa su questo protocollo e offre tutti i suoi vantaggi intrinseci).
SDK Firebase Admin per FCM
L'API Admin FCM gestisce l'autenticazione con il back-end 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 di condizione che corrispondono a uno o più argomenti.
- Iscrivere e annullare l'iscrizione dei dispositivi da e verso gli argomenti
- Costruisci payload di messaggi su misura per diverse piattaforme di destinazione
L'SDK Admin Node.js fornisce metodi per l'invio di messaggi a gruppi di dispositivi.
Per configurare l'SDK Firebase Admin, consulta Aggiungere l'SDK Firebase Admin al tuo server . Se hai già un progetto Firebase, inizia con Aggiungi l'SDK . Inoltre, assicurati di abilitare l'API Cloud Messagin nella pagina delle impostazioni di Cloud Messaging per il tuo progetto. Quindi, una volta installato l'SDK Firebase Admin, puoi iniziare a scrivere la logica per creare le richieste di invio .
Protocollo del server FCM
FCM fornisce l' API FCM HTTP v1 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 i dettagli sulle opzioni di intestazione e corpo, consulta Creazione di richieste di invio all'app server