I have used Firebase to make many Android apps and have taken full advantage of its spark plan (which is free).
Today, I will talk about why Firebase is used, how developers are using it, but first, let me explain to you what exactly is Firebase.
What Does Firebase Do?
So, basically, Firebase is a Backend-as-a-Service (BaaS), provides functionalities that can help with the backend development of your Android, iOS or web and even some product supports Unity3D too.
Top functionalities are:
- Firebase Database: used to store users data like chat messages, users details and other metadata
- Firebase Cloud Storage: used to store user-generated content like the profile picture, multimedia messages etc.
- Firebase Cloud Messaging: used to send notification
- Firebase Remote Config: used to perform A/B testing on the go
There are a dozen of other, I have covered them all here in details.
You might be thinking why not any other product is used like Amazon Web Services (AWS)?
I already talked about in detail about Firebase vs AWS.
But my main reason to use it its the fantastic features it has that has helped my apps to grow to the next level.
When I was stepping into Android app development, it was about the mid of 2015; I was lost entirely regarding the backend development of my app.
Because at that time, Firebase was not really that stable/popular/reliable and Parse (a facebook’s BAAS company) was also not accepting the new users as they shut down it.
And creating my server, managing it was quite a hassle for a newbie ( and I didn’t go for that hassle).
So after a few months, I heard about Firebase, I started learning it and implementing it. This is how I began using Firebase, I call myself as the early adopters of Firebase 😝
The top Firebase products that I am addicted to are:
- Firebase Remote Config: I love this product; it actually saved me sometimes from going broke. I will talk about it some other day
- Firebase Database: The product I have been using from the very first day.
- Firebase Authentication: You don’t know how much it saved my time 🖤
Major Uses of Firebase
Firebase Analytics is a product that I think every scale, type, kind of developer must use.
It gives such an in-depth view of your product that can help you grow and make your marketing strategies. And that totally free.
You just need to connect your app with Firebase and done, analytics is injected automatically.
You need to write code when you want some customised analytics to appear in Firebase Console. Otherwise, it logs pretty much everything necessary.
Firebase Remote Config lets you do the A/B testing, provide a personalised experience and much more, totally depends on how you use it.
You basically store the key-values in Firebase Console and then retrieve them in your app.
You can set different values for different OS’ versions, region, app version and a lot more. If you haven’t given it a try, then I would highly urge you to explore this fantastic product and check out how you can implement ant benefit from it.
Firebase Database is something we can call super amazing! It provides two types of database to you.
- Firebase Realtime Database
- Firebase Cloud Firestore
Both of these databases are real time-savers. Realtime Database stores data in a JSON object and provide it to all connected clients in realtime. Where Firebase Cloud Firestore saves data in documents and collections. Both of these are highly flexible, scalable and NoSQL databases. Giving another big reason for developers to start using Firebase
Firebase Cloud Messaging is also a convenient and useful product; its basic functionality is implemented as soon as you put its dependency on Android Studio.
You can enhance it further according to your needs. Once done, you can choose the users segment that you want to target for push notification and after sending you can also see the percentage of users who opened the notification.
Firebase Authentication can help you to implement the feature that a newbie can dream of, like doing email/SMS verification, letting users sign in/sign up.
It saves a ton of time by providing a simple way to handle the sign-in/signup process.