android

google-cloud-messaging

limit

push-notification

Is there any daily limit for number push notifications (GCM) can be sent to a particular android application user?

Solution 1

Update: GCM is deprecated, use FCM

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.

Solution 2

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.

Solution 3

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

Solution 4

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.

Solution 5

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.

Solution 6

According to the offical document, NO limit.

Solution 7

You can send Max 1,000 devices per SEND_ID !

Here is original source.

Solution 8

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.

Solution 9

Since GCM moved to firebase now, messaging service is totally free.

https://firebase.google.com/pricing/