Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

The availability of features may depend on your plan type. Contact your Customer Success Manager if you have any questions.

Dev guideRecipesAPI Reference
Dev guideAPI ReferenceUser GuideLegal TermsGitHubDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

Pass in audience attributes using the Android SDK

Describes possible user attribute values you can send to Optimizely Feature Experimentation through the Android SDK.

You can pass strings, numbers, Booleans, and null as user attribute values. If you want to target audiences based on the version of your application that they are using, you can also pass in a string formatted as a semantic version, then define a version audience condition in the app. The examples below show how to pass in attributes.

val attributes: MutableMap<String, Any> = HashMap()
attributes["device"] = "iPhone"
attributes["lifetime"] = 24738388
attributes["is_logged_in"] = true
attributes["application_version"] = "4.3.0-beta"

val user = optimizelyClient.createUserContext("user123", attributes)
val decision = user!!.decide("FLAG_KEY_HERE")
Map<String, Object> attributes = new HashMap<>();
attributes.put("device", "iPhone");
attributes.put("lifetime", 24738388);
attributes.put("is_logged_in", true);
attributes.put("application_version", "4.3.0-beta");

OptimizelyUserContext user = optimizelyClient.createUserContext("user123", attributes);
OptimizelyDecision decision = user.decide("FLAG_KEY_HERE");

🚧

Important

During audience evaluation, if you do not pass a valid attribute value for a given audience condition—for example, if you pass a string when the audience condition requires a Boolean, or if you simply forget to pass a value—then that condition will be skipped. The SDK logs will include warnings when this occurs.