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
3 Answers
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/

- 2,123
- 1
- 13
- 13
-
Also google says it does not guarantee delivery of messages , so is it reliable in that case? – user1918034 Dec 28 '12 at 11:50
-
Note that the order of delivery is not guaranteed. And it is not guaranteed to work with the new version of application.http://developer.android.com/google/gcm/adv.html – Yahor10 Dec 28 '12 at 11:55
-
also 4kb payload is much lesser than my requirement , any suggestion? – user1918034 Dec 28 '12 at 12:21
-
3Send 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). – Yahor10 Dec 28 '12 at 12:28
-
Isn't AirPush an ad network? There are other commercial services like a http://www.airbop.com (which I helped create and http://www.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. – selsine Dec 28 '12 at 19:16
-
Yes-airpush work as ad network,but you can configure it for your application – Yahor10 Dec 29 '12 at 06:21
-
@Yahor10 So you can configure AirPush to send messages (other then ads) to your apps? – selsine Dec 30 '12 at 06:16
-
Ads,but you can filter it. – Yahor10 Jan 02 '13 at 05:56
-
@Yahor10 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. – selsine Jan 03 '13 at 15:38
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

- 2,813
- 2
- 21
- 22
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.

- 377
- 3
- 19
-
1We use the current value of the time rather than random better word would have been unique. – SC-SL Dec 30 '13 at 15:20
-
@SC-SL 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. – Kokizzu Jun 04 '16 at 05:03