Segment-Optimizely-X 1.0.4

Segment-Optimizely-X 1.0.4

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Oct 2020

Maintained by Prateek Srivastava, Ladan Azita Nasserian, Brennan Gamwell, Segment, Brienne McNally.



 
Depends on:
Analytics~> 3.0
OptimizelySDKiOS~> 1.1.9
 

  • By
  • Segment

Segment-Optimizely-X

CircleCI Version License Platform

This SDK supports Optimizely iOS v1.1.9. Segment supports newer versions of Optimizely via Segment cloud mode. Read more about integrating with Optimizely via Segment cloud mode in our documentation here.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

Segment-Optimizely-X is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Segment-Optimizely-X"

Usage

Objective-C:

    SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"<YOUR_WRITE_KEY>"];
    configuration.trackApplicationLifecycleEvents = YES;
    configuration.recordScreenViews = YES;

    // Setup optimizely logger.
    OPTLYLoggerDefault *optlyLogger = [[OPTLYLoggerDefault alloc] initWithLogLevel:OptimizelyLogLevelError];
    // Create an Optimizely manager.
    self.optlyManager = [OPTLYManager init:^(OPTLYManagerBuilder *_Nullable builder) {
        builder.projectId = @"<YOUR_PROJECT_ID>";
        builder.logger = optlyLogger;
    }];
    
    // Initialize an Optimizely client by asynchronously downloading the datafile.
    [self.optlyManager initializeWithCallback:^(NSError *_Nullable error, OPTLYClient *_Nullable client) {
       // Optimizely is now up and running.  You can now configure any experiments, etc.
    }];

    [configuration use:[SEGOptimizelyXIntegrationFactory instanceWithOptimizely:self.optlyManager]];
    [SEGAnalytics setupWithConfiguration:configuration];

Swift:

    let configuration = SEGAnalyticsConfiguration(writeKey: "<YOUR_WRITE_KEY>")
    configuration.trackApplicationLifecycleEvents = true
    configuration.recordScreenViews = true

    let optlyLogger = OPTLYLoggerDefault(logLevel: .error)
    optlyManager = OPTLYManager.instance(builderBlock: { (builder) in
        builder?.projectId = "<YOUR_PROJECT_ID>"
        builder?.logger = optlyLogger
    })

    optlyManager?.initialize(callback: { (error, optlyClient) in
        // Optimizely is now up and running.  You can now configure any experiments, etc.
    })

    configuration.use(SEGOptimizelyXIntegrationFactory.instance(withOptimizely: optlyManager))

    SEGAnalytics.setup(with: configuration)

License

Segment-Optimizely-X is available under the MIT license. See the LICENSE file for more info.