Is Firebase Cloud Messaging free?
Firebase Cloud Messaging is free of charge, just like Google Cloud Messaging was. The Firebase pricing page shows exactly what Firebase features are paid.
Yes, it's free. You can use Analytics for advanced messaging - out of the box.
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, Notifications, Crash Reporting, Authentication, Remote Config, Dynamic Links, Firebase Invites, and App Indexing. You can use an unlimited amount of these in all plans, including our free Spark Plan.
As of April 10, 2018, Google has deprecated GCM. The GCM server and client APIs are deprecated and will be removed as soon as April 11, 2019. Migrate GCM apps to Firebase Cloud Messaging (FCM), which inherits the reliable and scalable GCM infrastructure.
https://firebase.google.com/pricing/
This link should help you understand better. If you are implementing push notifications my suggestion would be that maintain your own database for the generated device tokens instead of using topic messaging.
Two reasons why I avoided topic subscription is :
- There is a limit to the number of topics you can subscribe in free plan
- Topics are not subscribed immediately
Although the number of active users allowed in parallel connection has a limit but its too much to exceed that easily.
P.S. I use the spark plan by the way
There is no such thing "unlimited" for free. If you will send billions of billions messages a day, you will likely hit the maximum throughput limits and get blocked, or perhaps some sales man will contact you.