Google Cloud Messaging

Last updated
Google Cloud Messaging
GCM Architecture.svg
Overview of the GCM Service architecture.
Developer(s) Google
Target platform(s) Android, Chrome
Programming language(s) Java
StatusDefunct
LicenseProprietary

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]

Contents

Development

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

Related Research Articles

A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to a hardware platform and operating system combination. To create applications with advanced functionalities such as advertisements, push notifications, etc; most application software developers use specific software development kits.

Push technology or server push is a style of Internet-based communication where the request for a given transaction is initiated by the publisher or central server. It is contrasted with pull, or get, where the request for the transmission of information is initiated by the receiver or client.

Mobile marketing is a multi-channel online marketing technique focused at reaching a specific audience on their smartphones, feature phones, tablets, or any other related devices through websites, e-mail, SMS and MMS, social media, or mobile applications. Mobile marketing can provide customers with time and location sensitive, personalized information that promotes goods, services, appointment reminders and ideas. In a more theoretical manner, academic Andreas Kaplan defines mobile marketing as "any marketing activity conducted through a ubiquitous network to which consumers are constantly connected using a personal mobile device".

<span class="mw-page-title-main">Apple Push Notification service</span> Notification service created by Apple

Apple Push Notification service is a platform notification service created by Apple Inc. that enables third party application developers to send notification data to applications installed on Apple devices. The notification information sent can include badges, sounds, newsstand updates, or custom text alerts. It was first launched with iOS 3 on June 17, 2009. APNs support for local applications was later added to the Mac OS X API beginning with the release of Mac OS X 10.7 ("Lion"). Support for website notifications was later added with the release of Mac OS X 10.9 ("Mavericks").

<span class="mw-page-title-main">Android Debug Bridge</span> Tool for debugging Android-based devices

The Android Debug Bridge is a programming tool used for the debugging of Android-based devices. The daemon on the Android device connects with the server on the host PC over USB or TCP, which connects to the client that is used by the end-user over TCP. Made available as open-source software under the Apache License by Google since 2007, features include a shell and the possibility to make backups. The adb software is compatible with Windows, Linux and macOS. It has been misused by botnets and other malware, for which mitigations were developed such as RSA authentication and device whitelisting.

iMessage Instant messaging service by Apple

iMessage is an instant messaging service developed by Apple Inc. and launched in 2011. iMessage functions exclusively on Apple platforms: macOS, iOS, iPadOS, and watchOS.

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 parents could be told not come to school, or told to report to an alternate location. American Airlines can notify passengers by cellphone two hours before a flight's departure with information on the flight's status and gate number.

<span class="mw-page-title-main">Android Cloud to Device Messaging</span> Defunct mobile notification service

Android Cloud to Device Messaging, or C2DM, is a defunct mobile notification service that was developed by Google and replaced by the Google Cloud Messaging service. It enabled developers to send data from servers to Android applications and 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.

<span class="mw-page-title-main">Android Froyo</span> Sixth version of the Android operating system

Android Froyo is the sixth version of Android and is a codename of the Android mobile operating system developed by Google, spanning versions between 2.2 and 2.2.3. Those versions are no longer supported. It was unveiled on May 20, 2010, during the Google I/O 2010 conference. Google ceased sign-in support with a Google account for Android Froyo to Android Gingerbread on September 27, 2021.

Backend as a service (BaaS), also known as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later.

Google APIs are application programming interfaces (APIs) developed by Google which allow communication with Google Services and their integration to other services. Examples of these include Search, Gmail, Translate or Google Maps. Third-party apps can use these APIs to take advantage of or extend the functionality of the existing services.

Google Play Services is a proprietary software package produced by Google for installation on Android devices. It consists of background services and libraries for use by mobile apps running on the device. When it was introduced in 2012, it provided access to the Google+ APIs and OAuth 2.0. It expanded to cover a variety of Google services, allowing applications to communicate with the services through common means.

Firebase, Inc. is a set of backend cloud computing services and application development platforms provided by Google. It hosts databases, services, authentication, and integration for a variety of applications, including Android, iOS, JavaScript, Node.js, Java, Unity, PHP, and C++.

PubNub is a Real-time Communication Platform and real-time infrastructure-as-a-service (IaaS) company based in San Francisco, California. The company makes products for software and hardware developers to build real-time web, mobile, and Internet of Things (IoT) applications.

<span class="mw-page-title-main">Microsoft Push Notification Service</span>

Microsoft Push Notification Service is a mobile service developed by Microsoft. It allows for developers to send push data from servers to Windows Phone applications. The MPNS is natively supported on applications that target the Windows Phone 8 Operating System. Microsoft announced the Windows Notification Service for Windows 8 and Windows Phone 8.1 in 2011, effectively replacing the MPNS with this service. The MPNS can be used on applications that are installed on Windows Phone 8.1 if the source code is migrated to a Microsoft Silverlight application, modified to target Windows Phone 8.1, and was already registered to use the MPNS before the upgrade.

<span class="mw-page-title-main">Windows Push Notification Service</span> Notification service developed by Microsoft

Windows Push Notification Service is a notification service developed by Microsoft for all devices running Microsoft Windows platforms. It allows for developers to send push data to Windows and Universal Windows Platform applications which implement the feature. Designed as a successor to the Microsoft Push Notification Service, it was first supported on Windows 8 and subsequently on Windows Phone 8.1 upon its release.

<span class="mw-page-title-main">Progressive web app</span> Specific form of single page web application

A progressive web application (PWA), or progressive web app, is a type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly. It is intended to work on any platform with a standards-compliant browser, including desktop and mobile devices.

Firebase Cloud Messaging (FCM), formerly known as Google Cloud Messaging (GCM), is a cross-platform cloud service for messages and notifications for Android, iOS, and web applications, which as of May 2023 can be used at no cost. Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or end users.

Crashlytics was a Boston, Massachusetts-based software company founded in May 2011 by entrepreneurs Wayne Chang and Jeff Seibert. Crashlytics helps collecting, analyzing and organizing app crash reports.

References

  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.