Il tuo ambiente 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 dell'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 dell'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.
Scelta di un'opzione server
Dovrai decidere come interagire con i server FCM: utilizzando Firebase Admin SDK o il protocollo non elaborato. 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 di FCM includono:
- 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 multipiattaforma flessibili (Firebase Admin SDK si basa su questo protocollo e offre tutti i suoi vantaggi intrinseci).
Firebase Admin SDK per FCM
L'API Admin FCM 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 di condizione che corrispondono a uno o più argomenti.
- Iscrivere e annullare l'iscrizione di dispositivi agli argomenti
- Costruire payload dei messaggi personalizzati per piattaforme di destinazione diverse
L'SDK Admin Node.js fornisce metodi per l'invio di messaggi a gruppi di dispositivi.
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 abilitare 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 creare richieste di invio.
FCM protocollo del server
FCM fornisce l' FCMAPI 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 informazioni dettagliate sulle opzioni di intestazione e corpo, vedi Creare richieste di invio del server delle app