L'ambiente del server e FCM
Il lato server di Firebase Cloud Messaging è costituito da due componenti:
- Il backend FCM fornito da Google.
- Il tuo server app o un altro ambiente server attendibile in cui viene eseguita la logica del server, come Cloud Functions per Firebase o altri ambienti cloud gestiti da Google.
Il server app o l'ambiente server attendibile invia richieste di messaggi al backend FCM, che poi inoltra i messaggi alle app client in esecuzione sui dispositivi degli utenti.
Requisiti per l'ambiente del server attendibile
L'ambiente server dell'app deve soddisfare i seguenti criteri:
- Deve essere in grado di inviare richieste di messaggi formattate correttamente al backend FCM.
- Essere in grado di gestire le richieste e inviarle di nuovo 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.
Scelta di un'opzione di server
Dovrai decidere un modo per interagire con i server FCM: utilizzando Firebase Admin SDK o il protocollo non elaborato. Grazie al supporto dei linguaggi di programmazione più diffusi e ai metodi di praticità per gestire l'autenticazione e l'autorizzazione, Firebase Admin SDK è il metodo consigliato.
Le opzioni per interagire con i server FCM includono:
- Firebase Admin SDK, che supporta Node, Java, Python, C# e Go.
- L' API FCM HTTP v1, un'API REST con autorizzazione sicura e funzionalità di messaggistica multipiattaforma flessibili (la Firebase Admin SDK si basa su questo protocollo e fornisce tutti i suoi vantaggi intrinseci).
Firebase Admin SDK per FCM
L'API Admin FCM gestisce l'autenticazione con il backend e facilita l'invio dei messaggi e la gestione delle sottoscrizioni agli argomenti. Con Firebase Admin SDK puoi:
- Inviare messaggi a singoli dispositivi
- Invia messaggi ad argomenti e istruzioni di condizione che corrispondono a uno o più argomenti.
- Iscrivere e annullare l'iscrizione dei dispositivi agli argomenti e viceversa
- Creare payload dei messaggi personalizzati per piattaforme di destinazione diverse
L'SDK Admin Node.js fornisce metodi per inviare messaggi ai gruppi di dispositivi.
Per configurare il Firebase Admin SDK, vedi Aggiungere il Firebase Admin SDK al server. Se hai già un progetto Firebase, inizia con Aggiungi l'SDK. Inoltre, assicurati di attivare 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 generare richieste di invio.
Protocollo del server FCM
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 emette 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 Creare richieste di invio del server dell'app