Google Cloud Messaging
Overview of the GCM Service architecture.
|Target platform(s)||Android, Chrome|
Google Cloud Messaging (commonly referred to as GCM) is a mobile 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 is available to developers free of charge. The GCM Service was first announced in August 2013 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. The GCM service was first announced in August  2013.
|This section requires expansion. (September 2014)|
The transition to Google Cloud Messaging was first announced when the Android service was unveiled on June 27, 2012, at Google I/O. 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. 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.'
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.
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. 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 authenication token is returned. Both identifiers are then sent to the GCM Service to be enqueued and delivered to the device.
- Android software development
- Apple Push Notification Service
- SQL Server Notification Services
- Windows Notification Service
- Rubio, Daniel (August 12, 2012). "Google Cloud Messaging for Android (GCM) Unveiled, to Replace C2DM Framework". Retrieved October 15, 2015.
- "Google". www.google.com. Retrieved 2016-08-25.
- "Android Cloud to Device Messaging Framework". Google Inc.
- "Android 2.2 Platform Highlights". Google Inc.
- "Google Cloud Messaging (GCM) - Google Play for Developers Help". Google Inc.
- Tarantola, Andrew (June 27, 2012). "Google's New Cloud Messaging System Does More for Less". Gizmodo. Retrieved August 10, 2012.
- "Migration from C2DM". Google. Retrieved October 15, 2015.
- Scott, Mark (May 9, 2013). "Building efficient apps and extensions with push messaging". Google. Retrieved May 14, 2013.
- "Google Cloud Messaging for Android". Google.
- "Registering Client Apps". Google. January 14, 2016. Retrieved February 5, 2016.