Firebase Cloud Messaging
Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably sendmessages.
UsingFCM, you can notify a client app that new email or other datais available to sync. You can send notification messages to drive user re-engagement andretention. For use cases such as instant messaging, a message can transfer apayload of up to 4096 bytes to a client app.Ready to get started? Choose your platform:
Key capabilities
| 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. |
| 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. |
How does it work?
AnFCM implementation includes two main components for sending and receiving:
- A trusted environment such asCloud Functions for Firebase or an app serveron which to build, target, and send messages.
- An Apple, Android, or web (JavaScript) client app that receives messages via the corresponding platform-specific transport service.
You can send messages via theFirebase Admin SDK or theFCM server protocol. You can use the Notifications composer for testing and to send marketing or engagement messages using powerful built-in targeting and analytics or customimported segments.
See thearchitectural overview for more detail and important information about the components ofFCM.
Implementation path
| Set up theFCM SDK | Set up Firebase andFCM on your app according to the setup instructions for your platform. | |
| 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 fromthe Notifications composer. | |
| Develop your app server | Decide whether you want to use theFirebase 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. |
Next steps
Follow theGet started guide to set upyour client apps and learn to send messages withFCM.
Learn how toreceive messages inyour client app.
Set up yourserver environmentto build and send message requests. You can write sending logic using theAdmin SDK or theFCM v1API.
Explore advanced features, such as targeting groups withtopicmessaging, and learn how tounderstand message deliverywith theFCM Data API and BigQuery export.
Learn more aboutFCM in thearchitectureoverview and review best practicesforsending messages at scale andmanaging registration tokens.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-18 UTC.