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.
- Host: GitHub
- URL: https://github.com/segment-integrations/analytics-ios-integration-optimizely-x
- Owner: segment-integrations
- License: mit
- Created: 2017-08-17T23:13:39.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-07T22:40:23.000Z (over 5 years ago)
- Last Synced: 2025-03-27T04:33:26.254Z (about 1 year ago)
- Topics: ios
- Language: Objective-C
- Homepage:
- Size: 46.9 KB
- Stars: 1
- Watchers: 3
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Segment-Optimizely-X
[](https://circleci.com/gh/segment-integrations/analytics-ios-integration-optimizely-x)
[](http://cocoapods.org/pods/Segment-Optimizely-X)
[](http://cocoapods.org/pods/Segment-Optimizely-X)
[](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.