Android – Does Android support near real time push notification


I recently learned about the ability of iPhone apps to receive nearly instantaneous notifications to apps notifications to apps.

This is provided in the form of push notifications, a bespoke protocol which keeps an always on data connection to the iPhone and messages binary packets to the app, which pops up alerts incredibly quickly, between 0.5 – 5 seconds from server app send to phone app response time. This is sent as data – rather than SMS – in very very small packets charged as part of the data plan not as incoming messages.

I would like to know if, using Android, there is either a similar facility, or whether it's possible to implement something close to this using Android APIs. To clarify, I define similar as:

  • Not an SMS message, but some data driven solution
  • As real time as is possible
  • Is scalable, i.e., as the server part of a mobile app, I could notify thousands of app instances in seconds

I appreciate the app could be pull based, HTTP request/response style, but ideally I don't want to be polling that heavily just to check for notification; besides which it's like drip draining the data plan.

Best Solution

Firebase Cloud Messaging FCM FAQ is the new version of GCM. It inherits GCM’s core infrastructure to deliver messages reliably on Android, iOS and Chrome. However they'll continue to support GCM because lot of developers are using GCM SDKs today to handle notifications, and client app upgrade takes time.

As of June 26, 2012, Google Cloud Messaging is the preferred way of sending messages to applications running on devices.

Previously (and now deprecated), the service was called Cloud To Device Messaging.

Related Question