Is GCM service reliable for large scale push notification?
Asked Answered
M

3

3

I want to push notifications to around 50,000 users at a time and about 50 notifications per day, is it a good choice to use GCM in this case? If not can i know which other push services can i use , i dont mind even if its a paid service.. Thanks in advance

Martins answered 28/12, 2012 at 11:36 Comment(0)
T
4

One notification can send only to 1000 devices (GCM limit).So you must split your array of devices. 50.000 users its ok for GCM.

Our application serve 100.000 users.

As case you can use airpush notification service: http://www.airpush.com/

Teenager answered 28/12, 2012 at 11:43 Comment(9)
Also google says it does not guarantee delivery of messages , so is it reliable in that case?Martins
Note that the order of delivery is not guaranteed. And it is not guaranteed to work with the new version of application.developer.android.com/google/gcm/adv.htmlTeenager
also 4kb payload is much lesser than my requirement , any suggestion?Martins
Send GCM to your client.Then in onMessage(Context context, Intent intent) method send feedback to your server and get data that your need (by URL or socket).Teenager
Isn't AirPush an ad network? There are other commercial services like a airbop.com (which I helped create and urbanairship.com both of which use GCM . GCM does guarantee that the will send messages in the order they receive them but they cannot guarantee the order that they receive them in. It is quite reliable.Muncey
Yes-airpush work as ad network,but you can configure it for your applicationTeenager
@Teenager So you can configure AirPush to send messages (other then ads) to your apps?Muncey
Ads,but you can filter it.Teenager
@Teenager Then it's not really a push notification service, instead it's an advertising service. The services I linked to let you send any data you want, not just ads.Muncey
M
1

I think that GCM is a good choice to use. It's reliable and using it helps to conserve battery and data usage since it piggybacks other Google services. All you need is Android 2.2 or later with the Google services installed, which means no Kindle Fire.

I do not think that GCM would have any problems handling the number of messages or devices that you gave.

If you use it you will still have to write your own server component to handle registrations and message sending. I wrote a blog post that describes how this works.

Some commercial services that handle the server component for you (as well as other things) are AirBop, UrbanAirship, and ClixAp. Parse is a commercial solution that (I believe) does not use GCM. As I noted in the comment above I helped create AirBop

Muncey answered 28/12, 2012 at 19:35 Comment(0)
L
1

Like others we struggle with GCM as well for some time. However we believe we have finally figured out the factors which affect the performance of GCM the most:

For fastest delivery of Notifications with least amount of jitter: 1. delay_while_idle - set to false 2. time_to_live - set to zero (but we have set to 30 for just in case) 3. Canonical IDs - Make sure Canonical IDs returned by GCM replace the old PushID in database 4. collapse_key - The most important factor - set it to random or TOD to avoid Google to throttle notifications

With these, our GCM is working satisfactorily. Good wishes, post if you still have issues.

Luthern answered 16/5, 2013 at 9:29 Comment(2)
We use the current value of the time rather than random better word would have been unique.Luthern
@Luthern at mosts, how many broadcast did you use? (/1000); I want to know if it's capable for n (0-50) times (@10k-200k) broadcast at for each hour.Weidner

© 2022 - 2024 — McMap. All rights reserved.