Change Log

Version 3.9.0 (5th June, 2020)

Version 3.8.2 (21st May, 2020)

Version 3.8.1 (12th May, 2020)

Version 3.8.0 (22nd April, 2020)

Version 3.8.0-beta.2 (15th April, 2020)

Version 3.8.0-beta.1 (7th January, 2020)

Version 3.8.0-beta.0 (25th July, 2019)

Version 3.7.0 (22nd July, 2019)

This release promotes 3.7.0-beta.4 to stable.

Version 3.7.0-beta.4 (19th June, 2019)

Version 3.7.0-beta.3 (10th January, 2018)

Version 3.6.10 (19th November, 2018)

Version 3.7.0-beta.2 (15th November, 2018)

Version 3.7.0-beta.1 (23rd October, 2018)

Version 3.7.0-beta (27th August, 2018)

Version 3.6.9 (3rd December, 2017)

Version 3.6.8 (28th October, 2017)

This version included a bug that caused the library to not send events to the Segment API. We recommend using version 3.6.9 which fixes this bug and includes all the other improvements available in this release.

* Improvement: Run connection factory asynchronously so it doesn't block queuing events.

Version 3.6.7 (24th August, 2017)

Version 3.6.6 (15th August, 2017)

Version 3.6.5 (7th August, 2017)

Version 3.6.4 (19th July, 2017)

Version 3.6.3 (7th July, 2017)

Version 3.6.2 (6th July, 2017)

Version 3.6.1 (24th May, 2017)

Version 3.6.0 (28th February, 2017)

Version 3.6.0-rc (10th January, 2017)

Version 3.6.0-beta (1st December, 2016)

Version 3.5.5 (30th November, 2016)

Version 3.5.4 (28th November, 2016)

Version 3.5.3 (7th November, 2016)

Version 3.5.2 (10th October, 2016)

Version 3.5.1 (5th October, 2016)

Version 3.5.0 (12th September, 2016)

SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];

// Set a custom crypto implementation. An AES-256 implementation is provided out of the box.
configuration.crypto = [SEGAES256Crypto initWithPassword:"YOUR_PRIVATE_PASSWORD"];

// Set any other custom configuration options.
...

// Initialize the SDK with the configuration.
[SEGAnalytics setupWithConfiguration:configuration]
SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];

// Enable attribution tracking.
configuration.trackAttributionData = @YES;

// Set any other custom configuration options.
...

// Initialize the SDK with the configuration.
[SEGAnalytics setupWithConfiguration:configuration]
SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];

// Enable bluetooth collection.
configuration.shouldUseBluetooth = @YES;

// Set any other custom configuration options.
...

// Initialize the SDK with the configuration.
[SEGAnalytics setupWithConfiguration:configuration]

Version 3.4.0 (1st September, 2016)

SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];

// Set a custom request factory which allows you to modify the way the library creates an HTTP request.
// In this case, we're transforming the URL to point to our own custom non-Segment host.
configuration.requestFactory = ^(NSURL *url) {
    NSURLComponents \*components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
    // Replace YOUR_PROXY_HOST with the address of your proxy, e.g. aba64da6.ngrok.io.
    components.host = @"YOUR_PROXY_HOST";
    NSURL \*transformedURL = components.URL;
    return [NSMutableURLRequest requestWithURL:transformedURL];
};

// Set any other custom configuration options.
...

// Initialize the SDK with the configuration.
[SEGAnalytics setupWithConfiguration:configuration]
[[SEGAnalytics sharedAnalytics] getAnonymousId];

Version 3.3.0 (08-05-2016)

SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
configuration.trackPushNotifications = YES;
[SEGAnalytics setupWithConfiguration:configuration];
SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
configuration.trackDeepLinks = YES;
[SEGAnalytics setupWithConfiguration:configuration];

Version 3.2.6 (07-10-2016)

SEGReachability.m:115:9: Potential leak of an object stored into 'ref'
SEGReachability.m:131:9: Potential leak of an object stored into 'ref'

Version 3.2.5 (06-30-2016)

Version 3.2.4 (06-08-2016)

Version 3.2.3 (06-08-2016)

SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
configuration.trackInAppPurchases = YES;
[SEGAnalytics setupWithConfiguration:configuration];

Version 3.2.2 (06-06-2016)

Version 3.2.1 (06-03-2016)

Version 3.2.0 (06-01-2016)

Version 3.1.2 (05-31-2016)

Version 3.1.1 (05-24-2016)

SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
configuration.recordScreenViews = YES;
[SEGAnalytics setupWithConfiguration:configuration];

Version 3.1.0 (05-09-2016)

SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];
configuration.trackApplicationLifecycleEvents = YES;
[SEGAnalytics setupWithConfiguration:configuration];

Version 3.0.7 (02-01-2016)

Version 3.0.6 (01-12-2016)

Version 3.0.5 (01-08-2016)

Version 3.0.4 (01-05-2016)

Version 3.0.3 (12-11-2015)

Version 3.0.2 (12-07-2015)

Version 3.0.1 (11-24-2015)

Version 3.0.0 (11-24-2015)

Add the integration dependencies.

pod `Segment`
pod `Segment-Bugsnag`
pod `Segment-Branch`
...

Register them in your configuration when you initialize the SDK.

SEGAnalyticsConfiguration *config = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];

// Add any of your bundled integrations.
config use:[SEGGoogleAnalyticsIntegrationFactory instance];
config use:[BNCBranchIntegrationFactory instance];
...

[SEGAnalytics setupWithConfiguration:config];

Version 3.0.4-alpha (10-24-2015)

Version 3.0.3-alpha (10-21-2015)

Version 3.0.2-alpha (10-11-2015)