Evaluates the specified feature variable of a specific variable type and returns its value.
This method is used to evaluate and return a feature variable. Multiple versions of this method are available and are named according to the data type they return:
This method takes into account the user
attributes passed in, to determine if the user is part of the audience that qualifies for the experiment.
Returns the value of the specified Boolean variable.
public Boolean getFeatureVariableBoolean( String featureKey, String variableKey, String userId, Map<String, Object> attributes)
public Double getFeatureVariableDouble( String featureKey, String variableKey, String userId, Map<String, Object> attributes)
public Integer getFeatureVariableInteger( String featureKey, String variableKey, String userId, Map<String, Object> attributes)
public String getFeatureVariableString( String featureKey, String variableKey, String userId, Map<String, String> attributes)
SDK v3.0, v3.1
Each of the Get Feature Variable methods follows the same logic as Is Feature Enabled:
- Evaluate any feature tests running for a user.
- Check the default configuration on a rollout.
The default value is returned if neither of these are applicable for the specified user, or if the user is in a variation where the feature is disabled.
Unlike Is Feature Enabled, the Get Feature Variable methods do not trigger an impression event. This means that if you're running a feature test, events won't be counted until you call Is Feature Enabled. If you don't call Is Feature Enabled, you won't see any visitors on your results page.
Required and optional parameters in Java are listed below.
The feature key is defined from the Features dashboard; see Use feature flags.
The key that identifies the feature variable. For more information, see: Define feature variables.
The user ID string uniquely identifies the participant in the experiment. For more information, see: Identify users.
The value of the variable, or
null if the feature key is invalid, the variable key is invalid, or there is a mismatch with the type of the variable.
Map<String, Object> attributes = new HashMap<>(); attributes.put("device", "iPhone"); attributes.put("lifetime", 24738388); attributes.put("is_logged_in", true); Double featureVariableValue = optimizelyClient.getFeatureVariableDouble("my_feature_key", "double_variable_key", "user_123", attributes);
In SDKs v3.1 and later: Invokes the
DECISION notification listener if this listener is enabled.
The language/platform source files containing the implementation for Java is Optimizely.java.
Updated 8 months ago