Google Cloud Messaging
Overview of the GCM Service architecture.
Target platform(s)Android, Chrome
Programming language(s)Java

Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System, as well as applications or extensions developed for the Google Chrome internet browser. It was available to developers free of charge. The GCM Service was first announced in June 2012[1] as a successor to Google's now-defunct Android Cloud to Device Messaging (C2DM) service, citing improvements to authentication and delivery, new API endpoints and messaging parameters, and the removal of limitations on API send-rates and message sizes.[2] It has been superseded by Google's Firebase Cloud Messaging (FCM) on May 29, 2019.[3]


This section needs expansion. You can help by adding to it. (September 2014)

GCM first launched as Google's Android Cloud to Device Messaging (C2DM) service, first featured in Android 2.2 by Google.[4][5][6]

The transition to Google Cloud Messaging was first announced when the Android service was unveiled on June 27, 2012, at Google I/O.[7] Shortly after announcing the Google Cloud Messaging service, Google published documentation to guide application developers with migrating from the C2DM and onto the new service.[8] Migrating to the service required SDK and code changes, as well as a release of an application update to the publish repository (such as Google Play) for downloading and updating.

The Chrome service was announced before Google I/O 2013 in a blog post titled 'Building efficient apps and extensions with push messaging.'[9]

At I/O 2015, Google announced a new SDK and iOS support.

Technical details

Google Cloud Messaging functions using server APIs and SDKs, both maintained by Google. The GCM has the ability to send push notifications, deep-linking commands, and application data. Larger messages can be sent with up to 4 KB of payload data.[10]

Upon allowing the application permission to receive and display notifications, the client application sends a registration API request to the Google Cloud Messaging interface to begin the registration process. The GCM Service receives and acknowledges the request and responds by giving the device a GCM Registration ID, a unique identifier that the developer later uses to send a notification to the individual device. The identifier is stored onto the device, and is typically sent to the developer's application server to be stored. The GCM Registration ID is a randomly-generated identifier that does not contain any personal or device information that could allow a developer to discover the personal identity of the user.[11] When the developer wishes to send a notification event to a device, the process begins with an API POST request being sent to the GCM Authentication Service. The POST request includes the GCM Registration ID, priority, optional values and links, and the information that is to be displayed on the device upon its arrival. Upon successful verification of the GCM Registration ID and other credentials, an authentication token is returned. Both identifiers are then sent to the GCM Service to be enqueued and delivered to the device.

See also


  1. ^ Ghosh, Angana (2012-06-27). "Android Developers Blog". Introducing Android 4.1 (Jelly Bean) preview platform, and more. Retrieved 2016-09-09.
  2. ^ Rubio, Daniel (August 12, 2012). "Google Cloud Messaging for Android (GCM) Unveiled, to Replace C2DM Framework". Retrieved October 15, 2015.
  3. ^ "Cloud Messaging (Deprecated)". Google. 2019-03-29.
  4. ^ "Android Cloud to Device Messaging Framework". Google Inc.
  5. ^ "Android 2.2 Platform Highlights". Google Inc. Archived from the original on 2012-06-23.
  6. ^ "Google Cloud Messaging (GCM) - Google Play for Developers Help". Google Inc.
  7. ^ Tarantola, Andrew (June 27, 2012). "Google's New Cloud Messaging System Does More for Less". Gizmodo. Retrieved August 10, 2012.
  8. ^ "Migration from C2DM". Google. Archived from the original on September 6, 2015. Retrieved October 15, 2015.
  9. ^ Scott, Mark (May 9, 2013). "Building efficient apps and extensions with push messaging". Google. Retrieved May 14, 2013.
  10. ^ "Google Cloud Messaging for Android". Google.
  11. ^ "Registering Client Apps". Google. January 14, 2016. Archived from the original on April 28, 2016. Retrieved February 5, 2016.