Is there a way to find out if a given app supports GCM (Google Cloud Messaging)?

(GCM is Google's version of APNS.)

  • I could imagine that requires some permission (like RECEIVE_WAP_PUSH), or at least has to declare an corresponding intent/broadcast-receiver in its Manifest. But as I'm not sure, I only leave these pointers in a comment until someone can approve the one or other :) – Izzy Jan 22 '14 at 21:26
  • @Izzy, why would it have WAP in its name? – cnst Jan 22 '14 at 21:31
  • It would probably not. I just gave an example of one permission I know of, which is also related to push. I rather think it's a broadcast receiver. But I'm not a dev, so I'm not sure how exactly it works. – Izzy Jan 22 '14 at 21:48
  • I think Acrobits Groundwire is supposed to have GCM, maybe someone can find out... – cnst Jan 22 '14 at 21:50

As the developer documentation describes, an app needs the permission com.google.android.c2dm.permission.RECEIVE to receive GCM messages. This shows up in the permissions list as "Receive data from Internet" (which is a little vague, I know).

Of course, the presence of the permission doesn't necessarily mean the app actually will use GCM. Even if it does use GCM, it might not use it for all the uses you think it might use it for: maybe only some kinds of 'refresh' or polling operations can be replaced by GCM uses. And even if it uses GCM fully, in all the ways you'd expect, it's still possible for the app to use more power than it needs to. Using GCM is no guarantee that the app is well-written or efficient.

  • "Using GCM is no guarantee that the app is well-written or efficient." Whilst what you say above it true, I still reserve my opinion that not using GCM does guarantee that the app is not efficient. – cnst Jan 22 '14 at 22:12
  • 1
    @cnst Nonsense. Not using GCM doesn't mean the app is running all the time, and in some uses cases, might be more efficient. For example, if you get several emails per hour, an email client that runs every hour to check mail will use less power than one that receives a GCM push every time mail arrives at the server. – Dan Hulme Jan 22 '14 at 22:14
  • I guess I just have IM and VoIP/SIP in mind, for which I still believe that my assertion stands. – cnst Jan 22 '14 at 22:15
  • @cnst That's a very narrow set of uses. I wouldn't want other visitors to think that what's true for an IM client is true for every kind of application that might use GCM. – Dan Hulme Jan 22 '14 at 22:18
  • 1
    Anyway, it misses my original point, which is that even if GCM is the right answer for a particular app, the app might still end up being a battery or bandwidth hog for other reasons. – Dan Hulme Jan 22 '14 at 22:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.