OptimizelyUserContext
OptimizelyUserContext Object
The OptimizelyUserContext object allows you to make flag decisions and track events for a user context that you have already created using the Create User Context method.
OptimizelyUserContext version
OptimizelyUserContext is supported on the Android SDK v3.7 and higher.
Forced decision methods version
setForcedDecision()
, getForcedDecision()
, removeForcedDecision()
and removeAllForcedDecisions()
methods are supported on v3.13 and higher.
OptimizelyUserContext definition
The following code shows the object definition for OptimizelyUserContext:
class OptimizelyUserContext(optimizely: Optimizely,
userId: String,
attributes: Map<String, Any?>?) {
val userId: String
val attributes: MutableMap<String?, Any?>
// set an attribute for the user
fun setAttribute(key: String, value: Any?)
// make a decision about which flag variation the user buckets into for the flag key
fun decide(key: String,
options: List<OptimizelyDecideOption?>? = emptyList()): OptimizelyDecision
// make decisions about which flag variations the user buckets into for flag keys
fun decideForKeys(keys: List<String?>?,
options: List<OptimizelyDecideOption?>? = emptyList()): Map<String, OptimizelyDecision>
// make decisions about which flag variations the user buckets into for all flags
fun decideAll(options: List<OptimizelyDecideOption?>? = emptyList()): Map<String, OptimizelyDecision>
// track user event
fun trackEvent(eventName: String,
eventTags: Map<String?, *>? = emptyMap<String?, Any>())
// sets a forced decision (variationKey) for a given decision context
fun setForcedDecision(optimizelyDecisionContext: OptimizelyDecisionContext,
optimizelyForcedDecision: OptimizelyForcedDecision): Boolean
// returns the forced decision (variationKey) for a given decision context
fun getForcedDecision(optimizelyDecisionContext: OptimizelyDecisionContext): OptimizelyForcedDecision?
// removes the forced decision (variationKey) for a given decision context
fun removeForcedDecision(optimizelyDecisionContext: OptimizelyDecisionContext): Boolean
// removes all the forced decisions (variationKeys) for the user context
fun removeAllForcedDecisions(): Boolean
}
public class OptimizelyUserContext {
public String getUserId()
public Map<String, Object> getAttributes()
public OptimizelyUserContext(Optimizely optimizely,
String userId,
Map<String, Object> attributes)
// set an attribute for the user
public void setAttribute(String key, Object value)
// make a decision about which flag variation the user buckets into for the flag key
public OptimizelyDecision decide(String key,
List<OptimizelyDecideOption> options)
// make decisions about which flag variations the user buckets into for flag keys
public Map<String, OptimizelyDecision> decideForKeys(List<String> keys,
List<OptimizelyDecideOption> options)
// make decisions about which flag variations the user buckets into for all flags
public Map<String, OptimizelyDecision> decideAll(List<OptimizelyDecideOption> options)
// track user event
public void trackEvent(String eventName, Map<String, ?> eventTags)
// sets a forced decision (variationKey) for a given decision context
public Boolean setForcedDecision(OptimizelyDecisionContext context, OptimizelyForcedDecision decision)
// returns the forced decision (variationKey) for a given decision context
public OptimizelyForcedDecision getForcedDecision(OptimizelyDecisionContext context)
// removes the forced decision (variationKey) for a given decision context
public Boolean removeForcedDecision(OptimizelyDecisionContext context)
// removes all the forced decisions (variationKeys) for the user context
public Boolean removeAllForcedDecisions()
}
Properties
The following table shows attributes for the OptimizelyUserContext object:
Attribute | Type | Comment |
---|---|---|
userId | String | The ID of the user |
(optional) attributes | Map | A map of custom key-value pairs specifying attributes for the user that are used for audience targeting. You can pass the map with the user ID when you create the user. |
Methods
The following table shows methods for the OptimizelyUserContext object:
Method | Comment |
---|---|
setAttribute | Pass a custom user attribute as a key-value pair to the user context. |
decide | Returns a decision result for a flag key for a user. The decision result is returned in an OptimizelyDecision object, and contains all data required to deliver the flag rule. |
decideAll | Returns decisions for all active (unarchived) flags for a user. |
decideForKeys | Returns a map of flag decisions for specified flag keys. |
trackEvent | Tracks a conversion event (in other words, an action a user takes) for a user. Logs an error message if the specified event key doesn't match any existing events. |
setForcedDecision | Forces a user into a specific variation. |
getForcedDecision | Returns what variation the user was forced into. |
removeForcedDecision | Removes a user from a specific forced variation. |
removeAllForcedDecisions | Removes a user from all forced variations. |
See Also
Create User Context
Forced Decision methods
Source files
The language/platform source files containing the implementation for Android is Optimizely.java.
Updated 12 months ago