Remote Controls
The Remote Controls features enables developers to update their application remotely. This includes creating A/B Tests to experiment with variations within your application. This feature is available in Project Settings.
Remote Variables are defined on the Dashboard. The SDK will request values from the Dashboard and return values for each enabled Remote Configuration and A/B Test. The SDK can then use the values to modify the application.
Manage Remote Variables
Remote Variables are used by your application to connect values you set on the Dashboard.
Press Manage Remote Variable at the top of the Remote Controls page. You can review the existing Remote Variables and create new Remote Variables. This list can be a reference for developers to review what variable names they should expect to listen for in your application.
Remote Variables have a Type that cannot be changed later. It can be either either:
- Text (string values)
- True/False (boolean values)
- Numbers (integers)
The Default Value is a useful reference about the expected value of the Remote Variable. You should ensure that your application also handles situations where you cannot connect to our platform and does not receive any content.
Remote Configurations
Remote Configurations can only be created once there is a Remote Variable defined on the Dashboard. This feature allows you to directly return a value from the Dashboard into your application.
Some examples:
- In a game, you could create a Remote Configuration to multiply rewards earned during a promotional weekend event. After the event, you can disable this Remote Configuration to return the rewards earned to the default.
- In a training application, an employee may need to complete 80% of their tasks to successfully pass. Using a Remote Configuration to control this value, you could change this requirement to 90% completion of their tasks for a successful pass.
To create a Remote Configuration, select which Remote Variable you want to use from the dropdown. Enter a name and description for your Remote Configuration. Then enter the value you want this variable to have in your application.
Creating A/B Tests
A/B Tests can only be created once there is an Remote Variable defined on the Dashboard. This feature allows you return one of multiple values from the Dashboard into your application.
Some examples:
- In a training application, an employee may speak to a non-player character that uses a text-to-speech solution to deliver instructions. An A/B Test could determine how different instructions effect the accuracy of the training.
- In a game, a player will be introduced to common activities as part of their onboarding. You could use an A/B Test to present different activities and measure how this effects the user's retention.
To create an A/B Test, select which Remote Variable you want to use from the dropdown. Enter a name and description for your A/B Test. There is an option Is Sticky to User - this uses UserId or DeviceId to return the same values to a User over multiple sessions. This can be useful if your test will effect multiple user sessions, like the rate of earning experience in a game.
Press the Add Variant button to a row the table - this table shows all the values this A/B Test can return. The Weight property changes the probability that this value is selected. The type of value must match the type defined by the Remote Variable. For example, an Remote Variable with a Number type can only return values that are numbers.
Remote Variables used by your application are automatically recorded as Session Properties. The values of these properties match the value returned by the Dashboard. This allows you to use several tools to review the results of the test.
Reviewing results with Analysis
On the Analysis Tool page, choose the Group By option and select the name of your Remote Variable. This will display the results of your query grouping all the sessions or events by the results of your test.
Reviewing results with Filters
On any of the Dashboard pages, open the Filter popup and create a new filter characteristic. Select your Remote Variable name and choose a value. This will filter the dashboard to only show sessions that received this value.
SDK support
Unity
In Unity, add the RemoteControls component to a GameObject in the scene. We recommend the Cognitive3D_Manager prefab. See Unity Setup for more details.
Unreal
Unreal support for Remote Controls is expected before the end of March.
Best Practices
- Limit the number of variants in an A/B Test to as few as necessary. This will reduce noisy data and make it faster to see significant results.
- Run tests for at least a week. Individual user schedules may vary significantly throughout a weekly schedule, so this gives a good range of behaviours.
- Run a single test at a time. This reduces unexpected confounding effects that could effect user behaviours.
- Don't change the values during the test. This will skew the results and make it difficult to analyze.
If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page.