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 given to user actions. All this you can achieve 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 behaviour of various sections of your application, which you can override later using the Countly REST API.
Available for Enterprise Edition
Remote config feature is available for Enterprise Edition only.
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 Remote config plugin, please also see our explainer video below:
After you have logged in to your Countly Enterprise account, you can access Remote Config via main menu on the left side.
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's all you require to create a parameter. You can click on the "Create" button when you are ready.
After you create a bunch of parameters, you can see them under the parameters tab listed in a tabular form.
A condition is used to assign a different value to given parameter which is evaluated using the user instance metrics and 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 the condition to evaluate to true for a given app user instance.
How to create conditions
There are two ways in which you can create conditions:
Using 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 opens which has a "Create new Condition" button. Upon clicking the button, Add new condition dialog opens 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 include your condition filters. The condition name must have English letter characters [A-Z, a-z] and numbers only.
Using 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 a bunch of conditions, you can see them under the conditions tab listed in a tabular form.
Adding conditions to parameters
Now let's discuss on 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 (another Countly Enterprise Edition plugin). You can select any number of filters for a condition. Amongst these filters which are generally common 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 .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 seed 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 evaluates to true, the first (top) one shown in the Remote config UI 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 Management > Configurations > Remote Config section.
- Parameter keys can be up to 256 characters long.