An open API service indexing awesome lists of open source software.

https://github.com/segment-integrations/analytics-ios-integration-optimizely-x

The Optimizely-X analytics-ios integration.
https://github.com/segment-integrations/analytics-ios-integration-optimizely-x

ios

Last synced: 10 months ago
JSON representation

The Optimizely-X analytics-ios integration.

Awesome Lists containing this project

README

          

# Segment-Optimizely-X

[![CircleCI](https://circleci.com/gh/segment-integrations/analytics-ios-integration-optimizely-x.svg?style=svg)](https://circleci.com/gh/segment-integrations/analytics-ios-integration-optimizely-x)
[![Version](https://img.shields.io/cocoapods/v/Segment-Optimizely-X.svg?style=flat)](http://cocoapods.org/pods/Segment-Optimizely-X)
[![License](https://img.shields.io/cocoapods/l/Segment-Optimizely-X.svg?style=flat)](http://cocoapods.org/pods/Segment-Optimizely-X)
[![Platform](https://img.shields.io/cocoapods/p/Segment-Optimizely-X.svg?style=flat)](http://cocoapods.org/pods/Segment-Optimizely-X)

**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](https://segment.com/docs/destinations/optimizely-full-stack/#ios-cloud-mode-implementation).**

## 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](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod "Segment-Optimizely-X"
```

## Usage

Objective-C:
```obj-c
SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@""];
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 = @"";
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:
```swift
let configuration = SEGAnalyticsConfiguration(writeKey: "")
configuration.trackApplicationLifecycleEvents = true
configuration.recordScreenViews = true

let optlyLogger = OPTLYLoggerDefault(logLevel: .error)
optlyManager = OPTLYManager.instance(builderBlock: { (builder) in
builder?.projectId = ""
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.