Remote Config is used to control the behavior of your application without releasing an app update, which means you can decide what your customers see and how the app will behave depending on determined user actions. All without deploying any code or making any change to your code.
When using Remote Config, you need to create in-app default values controlling appearance and behavior of various sections of your application, which you can override later using the Countly REST API.
Understanding Remote Config
Before you start, we suggest that you take a look at our other Remote Config resources below:
- Integrating Remote Config to your Android app
- Integrating Remote Config to your iOS app
- Integrating Remote Config to your web app
- Blog post: Change your app’s behavior on the fly with Countly Remote Config
- Blog post: A definitive guide to Countly Remote Config: Use cases and examples
For more information about the Remote Config plugin, watch our walkthrough video below:
First of all, make sure the Remote Config plugin is enabled. To do so, in the main Countly Dashboard, go to
Plugins and enable the Remote Config toggle.
After that, you can access Remote Config via the main menu, under the Improve section.
Parameters are key-value pairs used by the application to control its behavior and appearance.
How to Create Parameters
Once you open Remote Config from the main menu, you will be taken to the Remote Config view where you can start adding the first parameter for your application.
After clicking the
Add parameter button, you will see a drawer that gets opened.
You must give your parameter a name which should be unique followed by a default value that will be used by your application. Parameter names must start with an underscore or English letter [A-Z, a-z], and they may also include numbers. That is all you require to create a parameter. When done, click on the
After you create parameters, you can see them under the parameters tab listed in a tabular form. Note that you can Edit or Delete them using the 3-dot ellipsis menu on the right of each row.
A condition is used to assign a different value to a given parameter which is evaluated using the user instance metrics, thus classifying app users into different groups based on conditions. Conditions are made up of one or more filters that must all evaluate to true for a given app user instance.
How to Create Conditions
There are two ways in which you can create conditions:
Using the Conditions Dialog
While creating a parameter, you might have noticed a Conditions section in the Add Parameter drawer. After you click the
+ Add value for condition button in that section, a menu dialog opens which has a
+ Create new condition button where you can create your condition.
You must specify the name of the condition which should be unique followed by a condition color and a condition definition that includes your condition filters. The condition name must have English letter characters [A-Z, a-z] and numbers only.
Using the Conditions Drawer
Alongside the Parameters tab on top there is a Conditions tab in the Remote Config view. If you open the conditions tab you will see an
Add Condition button.
After clicking the
Add condition button, you will be see a drawer that gets opened, which is similar to the Add new condition dialog.
After you have created several conditions, you can see them under the Conditions tab listed in a tabular form.
Adding Conditions to Parameters
Now let's discuss how to add a condition to a parameter. While creating a parameter from the Parameters drawer, when you click the
+ Add value for condition button in the Conditions section, the dropdown menu that opens lists all the conditions that have been created for this application.
You can select multiple conditions for the parameter and assign them a value. You can re-order the conditions here by dragging and dropping one above the other and set a condition precedence for this particular parameter.
There are various condition filters available in Remote Config which are populated by Drill (a Countly Enterprise plugin). You can select any number of filters for a condition. Amongst these filters which are generally simple to understand, one filter in particular stands out a bit. The name of the filter is Random Percentile. Use Random Percentile filter to apply a change to a random sample of app instances (with sample sizes as small as 0.001%), using the relational operators to segment users (app instances) into groups.
Each app instance is persistently mapped to a random whole or fractional number, according to a default seed value. A filter will use the default seed value (shown as Seed in Conditions drawer) unless you select or create another seed. You can use a single seed value across conditions to consistently address the same app instances within given percentage ranges, or you can select a new randomly-assigned group of app instances for a given percentage range by creating a new seed.
For example, to create two related conditions that each apply to a non-overlapping 5% of an app’s users, you could have one condition include a <= 5% filter, and another condition include both a > 5% filter and a <= 10% filter. To make it possible for some users to randomly appear in both groups, use different seeds for the filters in each condition.
Parameter Value Priority
The first condition that evaluates to true gets assigned its conditional value to the parameter. If multiple conditions within one parameter evaluate to true, the first condition (shown on top) takes precedence, and conditional value associated with that condition gets assigned to the parameter. Once the conditions have been added to the parameters, you can see them in the Parameters table.
- By default you can have up to 2000 parameters, and up to 20 conditions per parameters. You can change the default values from the
- Parameter keys can be up to 256 characters long.