Firebase is a product by Google that creates a backend server for you so you can focus on building your app. Most of the Firebase features are available on iOS, Android and Web, but some of the features are available on Unity and C++. Building a backend server is a huge amount of work, and if your app isn’t really that big and it doesn’t really require some special features it doesn’t really make sense to spend a huge amount of time building a server. And servers aren’t really cheap, and also they need a lot of maintenance. Firebase provides you with an easy to use SDK and pretty affordable prices. A lot of apps can use Firebase for free as they do not require that much space and processing power, and if you reach a point that you need to subscribe to a Firebase plan then your app probably should be making you enough money to pay for itself.
Firebase divides their features into Develop & test your app and Grow & engage your audience.
Develop & test your app
The name of this feature is self explanatory. The real time database creates a backend database server that you can use on multiple platforms. It is supported on all of the platforms mentioned before (iOS, Android, Web, Unity and C++). All of the data is stored as JSON objects so the transfer speeds are really good. It provides really secure data transfer that’s been designed by Google’s security experts. Aside from the server storage, it also provides offline storage so your app won’t be useless when the user doesn’t have connection to the internet.
This Firebase feature allows your users to sign into your app. Firebase Authentication provides several ways of authentication. Those are: Facebook, Google, Twitter, GitHub, Email and password, phone number and with a custom token. Firebase also provides a regularly updated sign in UI that’s called Firebase. The UI shows up when it detects that your users is not signed in. It’s updated with the current immigary of the chosen authentication platform (logos etc.). It also provides you with the standard “Forgot your password?” recovery and other things of that nature.
Cloud storage is also available for use on all of the platforms mentioned before. This feature is mostly used for storing users photos and videos, but it can also store other types of files. The storage expands depending on how much of it you need. Also, because it’s built by Google, it’s really secure and the upload and download is really robust.
Cloud functions allows you to write your custom backend server code. Currently the only language that is supported is Node.js, but new language support is in the works. This feature provides you with a very easy way of having a backend server code, as it does not need a lot of maintenance, because a big part of the security and performance is handled by Firebase.
This feature is only available on Android and iOS. Most of these features are self explanatory. Crash reporting gives you a really easy way of monitoring your app’s bugs and crashes so you don’t get any bad ratings on the Play Store or the App Store.
Test labs is only available on Android. It gives you access to many Android devices so you can test your app on multiple device configurations. So you don’t need to worry about running hundreds of test all by your self, or hiring someone to do it for you.
This feature provides you with a server to host your website. Your website will be stored on fast SSD storage. Also, your website will receive a SSL certificate (that’s the green look that you see before the https://) so your users will know that this is a really secure website.
This feature is available on iOS and Android. As you may have guessed, the performance monitor gives you information of the CPU usage, network speeds, memory usage so you can improve you app based on these informations.
Grow & engage your audience
Google analytics is available on all of the previously mentioned platforms. This feature allows you to analyze user attributions and behavior in a single dashboard to make informed decisions on your product roadmap, gain real time insights from reports, or export your raw event data to Google BigQuery for custom analysis.
Cloud messaging is available on Android, iOS and the web. Messages can be sent to single devices, groups of devices, or specific topics or user segments. Firebase Cloud Messaging scales to even the largest apps, delivering hundreds of billions of messages per day.
Use Dynamic Links to deliver a customized user experience for iOS, Android, and the web. You can use them to power mobile web to drive native app conversions, user to user sharing, social and marketing campaigns, and more. Dynamic Links provides you with the attributions you need to better understand your mobile growth. It’s supported on iOS, Android, Unity and C++.
AdMob and AdWords
AdMob is supported on iOS, Android, Unity and C++ and AdWords is supported on Android and iOS. These two features add advertising to your app. With AdMob you add adds into your app so you can make money, and with AdWords you advertise your app on other websited and mobile apps.