Firebase Cloud Messaging (FCM) è una soluzione di messaggistica multipiattaforma che ti consente di inviare messaggi in modo affidabile.
Con FCM puoi notificare a un'app client che è disponibile una nuova email o altri dati da sincronizzare. Puoi inviare messaggi di notifica per favorire il ricoinvolgimento e la fidelizzazione degli utenti. Per casi d'uso come la messaggistica istantanea, un messaggio può trasferire un payload di massimo 4096 byte a un'app client.
Invia messaggi di notifica che vengono mostrati all'utente. In alternativa, invia messaggi di dati e determina completamente cosa accade nel codice della tua applicazione. Vedi Tipi di messaggi.
Targeting dei messaggi versatile
Distribuisci messaggi all'app client in tre modi: a singoli dispositivi, gruppi di dispositivi o dispositivi con sottoscrizione ad argomenti.
Come funziona?
Un'implementazione di FCM include due componenti principali per l'invio e la ricezione:
Un ambiente attendibile come Cloud Functions for Firebase o un server app su cui creare, scegliere come target e inviare messaggi.
Un'app client Apple, Android o web (JavaScript) che riceve i messaggi tramite il servizio di trasporto specifico della piattaforma corrispondente.
Per ulteriori dettagli e informazioni importanti sui componenti di FCM, consulta la panoramica dell'architettura.
Percorso di implementazione
Configura l'SDK FCM
Configura Firebase e FCM nella tua app in base alle istruzioni di configurazione per la tua piattaforma.
Sviluppare l'app client
Aggiungi alla tua app client la gestione dei messaggi, la logica di sottoscrizione agli argomenti o altre funzionalità facoltative. Durante lo sviluppo, puoi inviare facilmente messaggi di test dal Editor di notifiche.
Sviluppare il server dell'app
Decidi se utilizzare Firebase Admin SDK o il protocollo del server per creare la logica di invio, ovvero la logica per autenticare, creare richieste di invio, gestire le risposte e così via. Dopodiché, sviluppa la logica nel tuo ambiente attendibile.
Passaggi successivi
Esegui l'esempio di Quickstart per Android o iOS. Questi esempi ti consentono di eseguire e rivedere il codice per inviare un messaggio di test a un singolo dispositivo utilizzando la console Firebase.
Aggiungi Firebase Cloud Messaging all'app per Android, Apple o web.
Configura l'ambiente attendibile in cui creerai e invierai le richieste di messaggi. Puoi scrivere la logica di invio utilizzando SDK Admin e implementare facilmente il codice su Cloud Functions for Firebase o su altri ambienti cloud gestiti da Google. In alternativa, puoi eseguire lo sviluppo del server utilizzando il protocollo del server FCM.
[[["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-08-17 UTC."],[],[],null,["Firebase Cloud Messaging \nplat_ios plat_android plat_web plat_flutter plat_cpp plat_unity \nFirebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably send\nmessages. \nUsing FCM, you can notify a client app that new email or other data is available to sync. You can send notification messages to drive user re-engagement and retention. For use cases such as instant messaging, a message can transfer a payload of up to 4096 bytes to a client app.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nReady to get started? Choose your platform:\n\n[iOS+](/docs/cloud-messaging/ios/client)\n[Android](/docs/cloud-messaging/android/client)\n[Web](/docs/cloud-messaging/js/client)\n[Flutter](/docs/cloud-messaging/flutter/client)\n\n[Unity](/docs/cloud-messaging/unity/client)\n[C++](/docs/cloud-messaging/cpp/client)\n\nKey capabilities\n\n|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Send notification messages or data messages | Send notification messages that are displayed to your user. Or send data messages and determine completely what happens in your application code. See [Message types](/docs/cloud-messaging/concept-options#notifications_and_data_messages). |\n| Versatile message targeting | Distribute messages to your client app in any of 3 ways---to single devices, to groups of devices, or to devices subscribed to topics. |\n\nHow does it work?\n\n\u003cbr /\u003e\n\nAn FCM implementation includes two main components for\nsending and receiving:\n\n1. A trusted environment such as Cloud Functions for Firebase or an app server on which to build, target, and send messages.\n2. An Apple, Android, or web (JavaScript) client app that receives messages via the corresponding platform-specific transport service.\n\n\u003cbr /\u003e\n\nYou can send messages via\nthe [Firebase Admin SDK](/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm) or the\n[FCM server protocol](/docs/cloud-messaging/server#choose).\nYou can use [the Notifications composer](//console.firebase.google.com/project/_/notification) for testing and to send marketing or engagement\nmessages using powerful built-in targeting and analytics or custom\n[imported segments](/docs/projects/import-segments).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nSee the [architectural\noverview](/docs/cloud-messaging/fcm-architecture) for more detail and important\ninformation about the components of FCM.\n\n\u003cbr /\u003e\n\nImplementation path\n\n|---|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Set up the FCM SDK | Set up Firebase and FCM on your app according to the setup instructions for your platform. |\n| | Develop your client app | Add message handling, topic subscription logic, or other optional features to your client app. During the development, you can easily send test messages from [the Notifications composer](//console.firebase.google.com/project/_/notification). |\n| | Develop your app server | Decide whether you want to use the Firebase Admin SDK or the server protocol to create your sending logic---logic to authenticate, build send requests, handle responses, and so on. Then build out the logic in your trusted environment. |\n\nNext steps\n\n- Run the [Android](https://github.com/firebase/quickstart-android/tree/master/messaging)\n or [iOS](https://github.com/firebase/quickstart-ios/tree/master/messaging/)\n Quickstart sample. These samples let you run and review code to send a test\n message to a single device using the Firebase console.\n\n- Learn more about FCM from the\n [architecture overview](/docs/cloud-messaging/fcm-architecture),\n guides to key [FCM concepts](/docs/cloud-messaging/concept-options),\n and best practices guides for [sending messages at scale](/docs/cloud-messaging/scale-fcm)\n and [managing registration tokens](/docs/cloud-messaging/manage-tokens).\n\n- Try the tutorials for [Android](/docs/cloud-messaging/android/first-message)\n or [iOS](/docs/cloud-messaging/ios/first-message).\n\n- Add Firebase Cloud Messaging to your\n [Android](/docs/cloud-messaging/android/client),\n [Apple](/docs/cloud-messaging/ios/client),\n or [Web](/docs/cloud-messaging/js/client) app.\n\n- Set up your trusted environment where you'll build and send message requests.\n You can write sending logic using the\n [Admin SDK](/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm), and\n readily deploy that code on Cloud Functions for Firebase or other cloud\n environments managed by Google.\n Alternatively, you can perform server development using the\n [FCM server protocol](/docs/cloud-messaging/server#choose)."]]