If you have been in the native mobile app development world for long enough, you know that the publishing process can sometimes take a lot of time, especially when you desperately need to get an update out to the public as soon as possible. From creating a new build to testing it, submitting it for approval and actually getting it out to the public, hours and more often than not, days can pass. On top of this, even after this process is finished, there is no guarantee that all your users will actually update the app.
To circumvent this, developers often try to make their apps as dynamic as possible, feeding all its information from APIs in order to be able to quickly update them and avoid the tedious publishing process.
However, there are some configurations that are often hard to fit in your own API:
- What if I wanted to change the colors of a screen based on a specific celebration? (for example new year's eve or our company's birthday).
- What if I had a new exciting feature I would like to enable just for certain users until I am sure it brings more good than harm?
- What if I had dynamic promotional banners that need to be localized?
Surely enough, this could be achieved by creating specific endpoints and having the app consume them, but simple use cases like these can scope creep pretty easily. Imagine if your business / marketing team wants to be able to change these settings themselves, creating promotions, changing the color of screens or turning on / off certain features based on business needs. Not only did you have to create all these API endpoints to serve these settings but now, you also need to create an entire web admin panel to let marketing play around with them. This can take a lot of time to develop and maintain. Wouldn't it be nice to be able to configure your app remotely without so much development involved?
Look no further than Firebase Remote Config! This cloud service consists of a list of key-value pairs (parameters) hosted in the cloud that can be accessed by mobile apps, as well as web clients, using SDKs that fetch and caches them while keeping network requests light weighted. However, don't let its simplicity deceive you, this tool is actually quite flexible and powerful. Being a part of the Firebase suite, it has native integration with all other Firebase products (such as Analytics) and lets you define a lot of rules that allow you to control how, when and to whom your parameters are served (date, random percentile, pre-defined audiences, languages, platform, etc.).
Here are some examples of the things you can do:
- Store hex colors or remote image URLs and use them in your app to be able to dynamically change how it looks.
- Create A/B tests of different appearances and track which of them bring your company more revenue with the help of Firebase Analytics.
- Program changes in appearances based on specific dates to have your app ready for certain celebrations.
- Store boolean flags and use them to turn on / off features or sections of your app. You can roll them out to a percentile of your users before releasing it to the general public if needed.
- Run timed promotions by creating key-value pairs that would update between certain dates or any condition you define (for example to show special banners or introduce a variable discount).
All of this is backed up with a user friendly admin panel in the Firebase Console that allows you to update any parameter, define all the rules to serve them and create A/B tests based on them.
So what are you waiting for? We suggest you give Firebase Remote Config a try, you will save a lot of development time and give your marketing team the tools they need to track and improve your app's success.