Firebase FCM Usage Limits

68,118

Solution 1

Here the answer given by Firebase support:

Firebase Cloud Messaging is free of charge, no matter the number of users and message pushes, just like Google Cloud Messaging was. However, here are some of its product "limitation": There's a limit of 1000 registration tokens used when using registration_ids parameter per send. So if you want to send 5000 messages to different users, you'll need to send the message in 5 batches. There's a limit of 100 messages that can be stored without collapsing. You can read more details here. You may also encounter limitations such as sending too much messages per second. Aside from that, everything in FCM is free and unlimited.

We currently don't have an SLA for FCM since it's a free service. We could never guarantee the delivery of messages since we do not control the networks between our servers and the device. We also offer the same level of support for both our paid and free plans for this service. Kindly see our Pricing FAQ here, under "What kind of support will I receive?" for more information.

Solution 2

The FCM docs now contain information about throttling and scaling. Details include:

Maximum payload is documented on the same page, here, as well as the collapse key limit:

...the FCM server can simultaneously store four different collapsible messages per device, each with a different collapse key. If you exceed this number, FCM only keeps four collapse keys, with no guarantees about which ones are kept.

Common errors related to throttling include messaging/device-message-rate-exceeded or messaging/topics-message-rate-exceeded. More details about error messages can be found here.

Solution 3

So as per my comment, it pretty much the same with GCM. So you can just go ahead and refer to this post if you want. But instead of going to the GCM docs mentioned there, you should go ahead and check with the FCM - Lifetime of a Message.

Or are you referring to much more specific limitation like in the Realtime Database connections/GB storage limit (you can just go check their pricings.

Unless you're trying to find something much more complicated or different, I think you can find pretty much everything you initially need in the docs. Cheers!

Share:
68,118
Admin
Author by

Admin

Updated on March 09, 2021

Comments

  • Admin
    Admin about 3 years

    I was wondering if there is a comprehensive list that privides details of the various Firebase FCM usage limits.

    I knew of the Data message payload limit of 4KB maximum. and then recently I got some issue with my app and then figured it was due to another limit - "maximum of 4 different collapse keys per device".

    I also remember in one of the recent talks Google mentioned they have removed certain limits that they had previously like number of topics etc..

    I am trying to get details of what are all the various limits that Google enforces on the FCM usage.

  • Muhammad Natiq
    Muhammad Natiq over 6 years
    exactly same issue i am facing in sending notification on 1000+ tokens at a time so i solved that issue by implementing FCM CURL Call on FOR LOOP for each 900 tokens till the total length of tokens array but now thing is FCM Push Notifications are not reliable its delivery not Guaranteed ...some times its sending notification to all users instantly sometimes its sending to only some users and miss other users
  • Shoogle
    Shoogle over 6 years
    You should also consider topic based subscriptions in FCM, which allows to send messages to a group which i believe has no limitation. In our apps we always have a topic called 'global' which all users are subscribed to.
  • Amit Bravo
    Amit Bravo about 6 years
    I need to create tons of devices groups but, none of them can have more than 1000 devices in any group, so could I send one notice to all <1000 devices in one go ?
  • Han
    Han almost 6 years
    Any information on the limit applied to devices when using topics messaging?
  • Jeff
    Jeff about 5 years
    While this answer was valid in 2017, the FCM docs now contain more comprehensive information about throttling and limits. I've added links in my answer