Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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 delle 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 FCM includono:
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.
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
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-03 UTC."],[],[],null,["\u003cbr /\u003e\n\nYour server environment and FCM\n\nThe server side of Firebase Cloud Messaging consists of two components:\n\n- The **FCM backend** provided by Google.\n- Your **app server** or other **trusted server environment** where your server logic runs, such as [Cloud Functions for Firebase](/docs/functions) or other cloud environments managed by Google.\n\n\u003cbr /\u003e\n\nYour app server or trusted server environment sends message requests to the FCM\nbackend, which then routes messages to client apps running on users' devices.\n\nRequirements for the trusted server environment\n\nYour app server environment must meet the following criteria:\n\n- Able to send properly formatted message requests to the FCM backend.\n- Able to handle requests and resend them using [exponential back-off.](https://developers.google.com/api-client-library/java/google-http-java-client/backoff)\n- Able to securely store server authorization credentials and client registration tokens.\n\nChoosing a server option\n\nYou'll need to decide on a way to interact with FCM servers: either using the\n[Firebase Admin SDK](/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm) or the raw protocol.\nBecause of its support across popular programming languages and its convenience methods for\nhandling authentication and authorization, the Firebase Admin SDK is the recommended method.\n\nOptions for interacting with FCM servers include the following:\n\n- The Firebase Admin SDK, which has support for [Node](/docs/reference/admin/node/firebase-admin.messaging), [Java](/docs/reference/admin/java/reference/com/google/firebase/messaging/package-summary), [Python](/docs/reference/admin/python/firebase_admin.messaging), [C#](/docs/reference/admin/dotnet/namespace/firebase-admin/messaging), and [Go](//godoc.org/firebase.google.com/go/messaging).\n- The [FCM HTTP v1 API](/docs/reference/fcm/rest/v1/projects.messages), a REST API with secure authorization and flexible [cross-platform messaging capabilities](/docs/cloud-messaging/send-message#customize_messages_across_platforms) (the Firebase Admin SDK is based on this protocol and provides all of its inherent advantages).\n\nFirebase Admin SDK for FCM\n\nThe Admin FCM API handles authenticating with the backend and facilitates sending\nmessages and managing topic subscriptions. With the Firebase Admin SDK, you can:\n\n- Send messages to individual devices\n- Send messages to topics and condition statements that match one or more topics.\n- Subscribe and unsubscribe devices to and from topics\n- Construct message payloads tailored to different target platforms\n\nThe Admin Node.js SDK provides\nmethods for sending messages to device groups.\n\nTo set up the Firebase Admin SDK, see [Add the\nFirebase Admin SDK to Your Server](/docs/admin/setup). If you already have a Firebase project,\nstart with [Add the SDK](/docs/admin/setup#add-sdk). Also, make sure to enable the\nCloud Messaging API in the\n[Cloud Messaging settings page](//console.firebase.google.com/project/_/settings/cloudmessaging/)\nfor your project. Then, once the Firebase Admin SDK is installed, you can start writing logic to\n[build send requests](/docs/cloud-messaging/send-message).\n| The Firebase Admin SDK provides an API for subscribing and unsubscribing devices to and from FCM topics. These operations can subscribe or unsubscribe up to 1000 device registration tokens at a time. For more information, see [Manage topics from the server](/docs/cloud-messaging/manage-topics).\n\nFCM server protocol\n\nFCM provides the [FCM HTTP v1 API](/docs/reference/fcm/rest/v1/projects.messages) for developers who prefer a raw server protocol.\n\nTo send a message, the app server issues a POST request with\nan HTTP header and an HTTP body comprised of JSON key value pairs.\nFor details on the header and body options, see\n[Build App Server Send Requests](/docs/cloud-messaging/send-message)"]]