We’ve deprecated GCM, integrated Cloud Messaging with Firebase, and introduced many improvements. Here is an FAQ to help you understand how these updates may impact you. If you have a question that's not here, use the Send Feedback link at top right to let Google know.
Why is GCM being deprecated?
Google is investing in Firebase, making it our unified mobile platform. Since it was added to Firebase at Google I/O in 2016, FCM has been the recommended replacement for GCM.
The FCM SDK:
- Simplifies client development. You no longer have to write your own registration or subscription retry logic.
- Enables a new serverless notifications solution with a web console, the Firebase Notifications console. With the Notifications console, anyone can send notifications to target specific audiences based on Firebase Analytics insights. The console has deep integration with Google Analytics, Firebase predictions, and Firebase A/B testing.
- Includes ongoing feature enhancements/updates such as the [HTTP v1 API](https://firebase.googleblog.com/2017/11/whats-new-with-fcm-customizing-messages.html).
- Provides better delivery reporting and more reliable delivery
I use a product that wraps GCM (such as UrbanAirship). How will GCM deprecation affect me?
GCM tokens will continue to work on client devices. However, you should reach out to your provider for more details about what this means for you.
How long do I have to migrate to FCM?
We will turn off most GCM services in April 2019, so you should plan to have most of your services migrated by then.
Note that client SDKs and GCM tokens will continue to work indefinitely. However, you won't be able to target the latest version of Google Play Services in your Android app unless you migrate to FCM.
How is FCM server implementation different from GCM server implementation?
FCM supports HTTP and XMPP protocols that are virtually identical to the GCM server protocols, so you don't need to update your sending logic for the migration. You'll only need to update the server endpoint as described in the migration guide.
You may want to evaluate the FCM HTTP v1 API, which offers an improved security model and new capabilities for customizing messages across platforms. Note that the FCM equivalent of the GCM HTTP protocol is labeled "legacy" only to distinguish it clearly from the HTTP v1 API. Both APIs are fully supported and Google has no near-term plan to deprecate them.
Can I roll out the migration via a flag or experiment on my client apps?
No, this does not work.
Will my existing GCM tokens and token handling still work?
Your GCM and FCM registration tokens are mutually interchangeable; you can send to existing GCM tokens through the FCM HTTP server APIs. For GCM and FCM token handling, remember:
- If you store and send to specific tokens, be sure to implement the token refresh method to ensure your tokens are always up to date
- iOS devs should avoid calling
.getToken(authorizedEntity,scope)unless there is a need to enable multiple senders. Use
Do I need to resubscribe client app instances to topics?
Your existing GCM topic subscriptions will automatically send to the new FCM token. There's no need to re-subscribe.
What data will Firebase collect and use? I'm concerned about privacy.
I don't want to use other Firebase products (such as Analytics).
Google Analytics for Firebase is enabled by default to provide the full range of FCM features. However, it can be disabled. The FCM SDK's only hard dependency is Google Play Services (which was also a dependency in GCM).