// Initialize an Optimizely manager
OPTLYManager *optlyManager = [OPTLYManager init:^(OPTLYManagerBuilder * _Nullable builder) {
builder.projectId = @"projectId"
;
}];
// Initialize an Optimizely client by asynchronously downloading the datafile
[optlyManager initializeWithCallback:^(NSError * _Nullable error, OPTLYClient * _Nullable client) {
// Activate user in an experiment
OPTLYVariation *variation = [client activate:@"my_experiment"
userId:@"userId"
];
if ([variation.variationKey isEqualToString:@"control"
]) {
// Execute code for the control
} else if ([variation.variationKey isEqualToString:@"treatment"
]) {
// Execute code for the treatment
} else {
// Execute default code
}
// Track conversion event
[client track:@"my_conversion"
userId:@"userId"
];
}];
// Initialize an Optimizely manager
let optimizelyManager : OPTLYManager? = OPTLYManager.init {(builder) in
builder!.projectId = "projectId"
}
// Initialize an Optimizely client by asynchronously downloading the datafile
optimizelyManager?.initialize(callback: { [weak self] (error, optimizelyClient) in
// Activate user in an experiment
if let variation = optimizelyClient?.activate("my_experiment"
, userId: "userId"
)
{
if (variation.variationKey == "control"
) {
// Execute code for the control
}
else if (variation.variationKey == "treatment"
) {
// Execute code for the treatment
}
} else {
// execute default code
}
// Track conversion event
optimizelyClient?.track("my_conversion", userId: "userId"
)
import com.optimizely.ab.Optimizely;
// Get an Optimizely client
OptimizelyClient optimizelyClient = optimizelyManager.getOptimizely();
// Activate user in an experiment
Variation variation = optimizelyClient.activate("my_experiment"
, "user_id"
);
if (variation != null) {
if (variation.is("control"
)) {
// Execute code for variation A
} else if (variation.is("treatment"
)) {
// Execute code for variation B
}
} else {
// Execute default code
}
// Track conversion event
optimizelyClient.track("my_conversion"
, user_id);