Getting Started With Firebase Android
In I/O 2016 google released new and upgraded tool called Firebase. As a mobile developer when you are building large scale applications you need back-end support as well as a special developer who can work with server level stuffs.
Firebase provides all those kind of functionality which are needed from server side, in addition to Realtime Database, Storage and Hosting, it also provides Authentications, Analytics, Notifications, Crash Reporting and much more.
In this series of Firebase we will take a detailed look at almost all features provided by Firebase.
Firebase Analytics :
Firebase Analytics help you to analyse how your user is using the application. It is totally free and provides up to 500 distinct events.
Firebase Analytics help you to understand your app users need, what they want, how they are doing with the app, what are the things they are engaging most in the app.
Realtime Database :
Firebase provides NoSQL realtime cloud database. Firebase Realtime Database stores data in JSON format and is synchronized with all the connected clients.
Using Firebase Authentication user will be authenticated via multiple ways, it can be email, Facebook, Twitter, Google or Github.
Firebase Authentication allows you to create new user and store user’s credentials to Firebase Database.
With the Firebase Authentication support now you do not need to integrate that heavy server configuration or APIs to be deal with login and signup process.
You can even send a confirmation email after registration and it also provide forgot password functionality in case of user forgets their credentials.
Crash Reporting :
Crash Reporting is very important and helpful tool for any developer. With Firebase Crash Reporting you will get whole crash report in firebase developer console. Report consist of OS details with error detail and other factors.
You can also generate your custom Crash Report with Firebase. It will help you to rectify the actual error in your project.
Cloud Messaging :
With Firebase Cloud Messaging(FCM) you will be able to engage with users in periodic time. Generate periodic notifications that reminds user about your application.
You can even use Cloud Messaging to let your user knows about promotional or seasonal offers available in your application. FCM allows you to transfer payload of up to 4KB to client application.
FCM also allows you to send acknowledgement or chat message back to the your server over FCM’s reliable and battery-efficient connection channel.
Remote Config :
Remote config is the best feature from developer point of view, it allows you to perform some dynamic operation without updating the build. End user will get the latest changes without updating application to new version.
You can use Remote Config to design your app based on user, version name, locality etc etc criteria. Remote config can be used to show some promotional banners while your app runs or show some extra ordinary UI to some special users.
App Indexing :
App Indexing allows you to re-engage with your users. If google finds any searching term related to your app and if app is installed, user will directly be redirected to the app by clicking on the link.
App Indexing helps your user to search content in most easy way via google.
Firebase Invites is the most efficient way to increase users in your app. If your app is having good content and user engagement, your user is going to share it with others also and that is the best way to increase app users.
Word of mouth is one of the most effective ways of getting users to install your app.
After doing everything with your application, we need to monetize our app to earn money. After all this is the only thing for which we were doing everything.
AdMob is google’s advertise platform which allows to earn money through your app.
In the next part of this series we will take a look at some programming guideline for Firebase features.