Android-SDK - 2.0.0 Beta 1
## 2.0.0-beta1
March 29th, 2018
This major release of the Optimizely SDK introduces APIs for Feature Management. It also introduces some breaking changes listed below.
### New Features * Introduces the `isFeatureEnabled` API to determine whether to show a feature to a user or not. ``` Boolean enabled = optimizelyClient.isFeatureEnabled("my_feature_key", "user_1", userAttributes); ```
* You can also get all the enabled features for the user by calling the following method which returns a list of strings representing the feature keys: ``` ArrayList enabledFeatures = optimizelyClient.getEnabledFeatures("user_1", userAttributes); ```
* Introduces Feature Variables to configure or parameterize your feature. There are four variable types: `Integer`, `String`, `Double`, `Boolean`. ``` String stringVariable = optimizelyClient.getFeatureVariableString("my_feature_key", "string_variable_key", "user_1"); Integer integerVariable = optimizelyClient.getFeatureVariableInteger("my_feature_key", "integer_variable_key", "user_1"); Double doubleVariable = optimizelyClient.getFeatureVariableDouble("my_feature_key", "double_variable_key", "user_1"); Boolean booleanVariable = optimizelyClient.getFeatureVariableBoolean("my_feature_key", "boolean_variable_key", "user_1"); ```
### Breaking changes * The `track` API with revenue value as a stand-alone parameter has been removed. The revenue value should be passed in as an entry of the event tags map. The key for the revenue tag is `revenue` and will be treated by Optimizely as the key for analyzing revenue data in results. ``` Map eventTags = new HashMap();
// reserved "revenue" tag eventTags.put("revenue", 6432);
optimizelyClient.track("event_key", "user_id", userAttributes, eventTags); ```
* Live variable accessor methods have been removed and have been replaced with the feature variable methods mentioned above. Feature variables are scoped to a feature so you must supply the feature key in addition to the variable key to access them.
- `getVariableBoolean` now becomes `getFeatureVariableBoolean` - `getVariableString` now becomes `getFeatureVariableString` - `getVariableInteger` now becomes `getFeatureVariableInteger` - `getVariableFloat` now becomes `getFeatureVariableDouble`