Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

What can you do with Remote Config?

Stay organized with collections Save and categorize content based on your preferences.

App developers use Remote Config in many different ways to suit their unique requirements, and we encourage that. To give you an idea of the kinds of things you can do with Remote Config, this page describes some use cases with broad applicability to mobile developers.

Launch new features with the percentage rollout mechanism

Launching a new feature to all of your app users can be scary, as you can't be sure how well the feature will be received by your users. This is why many developers use Remote Config to perform a percentage rollout and slowly expose their users to new functionality.

To perform a percentage rollout on an existing Remote Config parameter, add a new condition to the parameter that contains a condition "User in random percentile" with % value set to 10%:

Animated image moving through the Firebase console GUI steps to perform a percentage rollout on an existing parameter
Adding parameter for percentage feature rollout

Now, when the new_search_feature parameter is fetched from Remote Config, 10% of randomly selected users get the value true while the rest get the value false.

When you are satisfied with the stability of the feature in 10% of the user population, you can increase it to 30%, to 50%, and eventually to 100% once you have full confidence in the feature.

Define platform and locale-specific promo banners for your app

Imagine you have an e-commerce sale coming up and you want to enable a promotional splash page in your app. Further, imagine you want to customize this splash page to the same locale that your user has set on their device. You can define a parameter promo_splash_graphic and set its value to static URLs (hosted on Firebase Storage or elsewhere) and then reference them dynamically in your app.

You could then assign different values to Android and Apple for locales that are most important to your promotional marketing campaign. If you need to trigger promotions at a specific time, you can use Remote Config's time conditions.

Animated image moving through the the Firebase console GUI steps to define platform and locale-specific promo banners
Adding parameter for localized promo banners

You can also use the Remote Config backend APIs to update the parameter values programmatically and then trigger the functionality from a cron job.

Test new functionality on a limited testing group

Normally for testing new functionality within a limited testing group, you would use an Alpha channel on Google Play or Test Flight for an Apple app. These tools are perfect when you want to test new functionality in the same cadence as your regular development cycle.

However, sometimes you may have a feature that you would like to test more quickly, and easily enable or disable regardless of the timing of the next release in your regular development cycle. For such cases, Remote Config can be a very helpful tool.

Let's say you wanted to test new graphics among employees in your company. How could that be enabled with Remote Config?

When users log in to your app, check for their email ID and set up the user property is_mydomain_employee=true that applies only when the email belongs to your domain. Then create a condition that tracks that user property. You can target this user property in Remote Config and enable the new functionality only for these users.

Animated image moving through the the Firebase console GUI steps to test new functionality on a limited testing group
Targeting testing groups with a condition

Use JSON to configure complex entities in your app or game

As your app grows in complexity, you need better ways of supplying configuration to your app. For example, if you want to configure a new login system, you might create one Remote Config parameter for each dynamic value you want to control. However, configuring your login system this way is tedious, and very hard to understand and maintain.

A better way to provide configuration for such a login system would be to use JSON and group all of those parameters into one single parameter. This helps in editing and maintaining the login parameter much more easily over time.

The Firebase console provides a JSON validator and pretty-printer that you can use when editing Remote Config parameters. When working in the console, click the {} icon to open the editor.

Animated image moving through the the Firebase console GUI steps to configure complex entities with JSON
Using the JSON editor to group parameters

Send Slack / Email message when a Remote Config update is published

If you are part of a large team which uses Remote Config, it's often hard to keep track of who's publishing Remote Config in your team and when.

To simplify collaborative workflows, you can be alerted via your favorite mechanism (Slack or Email) in near real time. The Remote Config REST API together with a Remote Config background trigger in Cloud Functions for Firebase lets you propagate updates in real time.

eBay recently open sourced their implementation for how they use Cloud Functions with Remote Config to publish a diff of previous vs new Remote Config templates into a Slack channel.