Android Cloud to Device Messaging (commonly referred to as Cloud to Device Messaging), or C2DM, is a defunct mobile
notification service
A notification service provides means to send a notice to many persons at once. For example, if a flood were likely, residents of a community could be warned it's time to evacuate. If a school were suddenly closed for the day, students or paren ...
that was developed by
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
and replaced by the
Google Cloud Messaging
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 ...
service. It enabled developers to send data from servers to
Android applications and
Chrome
Chrome may refer to:
Materials
* Chrome plating, a process of surfacing with chromium
* Chrome alum, a chemical used in mordanting and photographic film
Computing
* Google Chrome, a web browser developed by Google
** ChromeOS, a Google Chrome- ...
extensions. C2DM originally launched in 2010 and was available beginning with version 2.2 of
Android.
On June 27, 2012, Google unveiled the Google Cloud Messaging service aimed at replacing C2DM, citing improvements to authentication and delivery, new API endpoints and messaging parameters, and the removal of API rate limits and maximum message sizes.
Google announced official deprecation of the C2DM service in August 2012, and released documentation to assist developers with migrating to the new service. The C2DM service was discontinued for existing applications and completely shut down on October 20, 2015.
Technical details
The C2DM service consisted of sub-services and interfaces necessary with maintaining security and reliability. When an application registered for C2DM messages and data, it received a ''C2DM Registration ID'' from the service. This identifier was unique to the application on the device, and was used to identify the device that the data or message request was intended for. This identifier was typically sent by the client application to a server owned by the developer or creator for tracking and statistical purposes. Upon sending a data or push request, the server sent an authentication request and the ''C2DM Registration ID'' of the device to the C2DM authentication service, which responded with an ''authentication token'' upon success. The third party server then submitted both identifiers within the final data request to be enqueued and sent to the device. When the device received the information from the C2DM, the request was removed from the C2DM queue.
Migration to the Google Cloud Messaging service
Shortly after announcing the
Google Cloud Messaging
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 ...
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
Google Play, also known as the Google Play Store and formerly the Android Market, is a digital distribution service operated and developed by Google. It serves as the official app store for certified devices running on the Android (operating sys ...
) for downloading and updating. The C2DM and the Google Cloud Messaging service were not interoperable between each other; you could not send data requests using one service to be received and processed on the client app using the other. The migration also required changes to be made on the third party server operated by the developer (depending on the complexity and use case regarding the data sent).
References
External links
{{Android
Mobile telecommunications
Google services