Is there any daily limit for number push notifications (GCM) can be sent to a particular android application user?
-
Do GCM charge anything for the service – pareshm Apr 21 '16 at 06:00
9 Answers
After Google replaced C2DM with GCM, they took off all limits.
SOURCE: http://developer.android.com/google/gcm/c2dm.html#history
Prior to GCM (when it was still called C2DM): https://developers.google.com/android/c2dm/#limitations)
The only limits you run into the GCM documentation is this: http://developer.android.com/google/gcm/adv.html#lifetime
Quote from the above link:
Note: There is a limit on how many messages can be stored without collapsing. That limit is currently 100. If the limit is reached, all stored messages are discarded. Then when the device is back online, it receives a special message indicating that the limit was reached. The application can then handle the situation properly, typically by requesting a full sync.
I am not sure if this is relevant to your question though.

- 27,623
- 15
- 98
- 151
-
Noting: `There is a limit on how many messages can be stored without collapsing. That limit is currently 100. If the limit is reached, all stored messages are discarded....`, that is just for a specific user, correct? ie. a user may have their device turned off for a long time, thus GCM messages pile up, and if no endpoint, collapse? or is this 100 across ALL users? – Sauron Feb 25 '16 at 17:58
-
4
-
If don't get this right, the server holds the last 100, older messages are discarded. When the device comes online, the freshest 100 messages are sent along with a limit reached message? – ir2pid Jun 14 '17 at 14:44
There is a limit
of 1000
notifications
at one go.
Assume you have 50000 regids
. You cannot send all 50000
together. After the first 1000
, you will have to separately select the next 1000
and so on.

- 2,075
- 3
- 19
- 26

- 199
- 1
- 7
Doesn't seem there's a set numerical limit, but there are throttling measures in place.
To prevent abuse (such as sending a flood of messages to a device) and to optimize for the overall network efficiency and battery life of devices, GCM implements throttling of messages using a token bucket scheme.
If an application collapse key exhausts its supply of available tokens, new messages are buffered in a pending queue until new tokens become available at the time of the periodic grant.
Via: https://developers.google.com/cloud-messaging/server#throttling
Edit/Update:
Just to update, the doc for throttling can now be found in the GCM Advanced Topics: http://www.androiddocs.com/google/gcm/adv.html#throttling

- 36,815
- 10
- 142
- 281

- 6,345
- 6
- 40
- 52
-
1I just noticed when looking more at the site I added. I'm not entirely sure if androiddocs.com is an official documentation of google. @boltup_im_coding - I'd appreciate if you can add a note saying that. :) – AL. Jun 06 '16 at 06:31
There NOT any daily limit for number push notifications (GCM) but Via Official Source GCM Advanced Topics it states that
There is a limit on how many messages can be stored without collapsing. That limit is currently 100. If the limit is reached, all stored messages are discarded. Then when the device is back online, it receives a special message indicating that the limit was reached. The application can then handle the situation properly, typically by requesting a full sync.
Hope it will Help.

- 8,954
- 10
- 58
- 80

- 25,740
- 15
- 81
- 107
-
can you help me?, please see http://stackoverflow.com/questions/34826165/google-cloud-messaging-limit – ghanbari Jan 17 '16 at 08:49
-
Tried to send over 1000 pushes from java code com.google.android.gcm.server.Sender "send" method, attempt fails.
https://developers.google.com/cloud-messaging/http-server-ref For Downstream HTTP messages (JSON):
param name - registration_ids type - String array
This parameter specifies a list of devices (registration tokens, or IDs) receiving a multicast message. It must contain at least 1 and at most 1000 registration tokens.
Use this parameter only for multicast messaging, not for single recipients. Multicast messages (sending to more than 1 registration tokens) are allowed using HTTP JSON format only.

- 41
- 1
-
1First off, welcome to the community :) There are already several high quality answers to this question, most of which were posted three years ago when the question was asked. While it may be a worthwhile exercise to attempt to answer simple questions such as this one in order to further your programming abilities, posting this answer in its current state does not add anything to the question. – MTCoster Feb 04 '16 at 13:45
You can send Max 1,000 devices per SEND_ID !
Here is original source.

- 979
- 1
- 14
- 32
-
1
-
1ROTFL...the implication of that source is a max of 1000 at one go – humblerookie Sep 09 '14 at 07:53
-
-
registration_ids
This parameter specifies a list of devices (registration tokens, or IDs) receiving a multicast message. It must contain at least 1 and at most 1000 registration tokens.

- 9
- 6