I would like to know if Firebase Cloud Messaging is free or not for unlimited users?
In addition to the answer from AL.
From the Pricing page Faqs:
Which products are paid? Which are free?
Firebase's paid infrastructure products are the Realtime Database, Firebase Storage, Hosting, and Test Lab. We offer a free tier for all of these products except Test Lab.
Firebase also has many free products: Analytics, App Indexing, Authentication, Dynamic Links, Cloud Messaging, Notifications, Invites, Crash Reporting, &, Remote Config. You can use an unlimited amount of these in all plans, including our free Spark Plan.
So, it's free. The limit is not mentioned anywhere in the docs, however there's a limit on the Firebase realtime database, as mentioned in the FAQs:
Firebase imposes hard limits on the number of connections to your app's database at the same time. These limits are in place to protect both Firebase and our users from abuse.
The free plan limit is 100, and cannot be raised. The Flame and Blaze Plans have an initial limit of 10,000 simultaneous database connections. This is to prevent abuse and can be raised by contacting Firebase support with 24 hours notice.
This limit isn't the same as the total number of users of your app, because your users don't all connect at once. We encourage you to monitor your peak simultaneous database connections and upgrade if needed.
We're working hard to remove the initial 10,000 simultaneous connection cap on the Flame and Blaze plans.
So if you are using the Firebase Database to save your User's data and want to send a lot of Push Notifications to your user's devices using the FCM registration token stored in the Firebase Database, you might hit the limit in the free Spark plan, however it's really tough to hit the 10k limit.