The purpose of this method is to force a user into a specific variation or personalized experience for a given experiment. The forced variation value doesn't persist across application launches.
SDK v3.0 and higher
Forces a user into a variation for a given experiment for the lifetime of the Optimizely client. Any future calls to the Decide methods or Track Event method for the given user ID returns the forced variation.
Forced bucketing variations take precedence over whitelisted variations, variations saved in a User Profile Service (if one exists), and the normal bucketed variation. Decision and conversion events are still tracked when forced bucketing is enabled.
Variations are overwritten with each set method call. To clear the forced variations so that the normal bucketing flow can occur, pass null as the variation key parameter. To get the variation that has been forced, use Get Forced Variation.
This call will fail and return false if the experiment key is not in the project file or if the variation key is not in the experiment.
The required and optional parameters for Android are listed below.
|string||The key of the experiment to set with the forced variation.|
|string||The ID of the user to force into the variation.|
|string||The key of the forced variation. Set the value to |
true if the user was successfully forced into a variation,
false if the
experimentKey is not in the project file or the
variationKey isn't in the experiment.
optimizelyClient.setForcedVariation("my_experiment_key", "user_123", "some_variation_key")
In the receiving client instance, sets the forced variation for the specified user in the specified experiment. This forced variation is used instead of the variation that Optimizely would normally determine for that user and experiment.
The language/platform source files containing the implementation for Android is OptimizelyClient.java.
Updated about 1 year ago