Segment v3.5.0 Release Notes

Release Date: 2016-09-12 // over 5 years ago
    • Not a recommended version. Regression introduced in 3.5.0 will generate a new anonymousId on every app launch.

    • 📈 New: Adds a SEGCrypto API that can be used to configure the at rest encryption strategy for the client.

     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]
    
    • New: Add the ability for the SDK to natively report attribution information via Segment integrations enabled for your project, without needing to bundle their SDKs. Attribution information is sent as a track call as documented in the mobile lifecycle spec.
     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]
    
    • New: Add the ability for the SDK to disable bluetooth collection. Going forwards, bluetooth information will not be collected by default. This is because iOS 10 requires explicit documentation on why the CoreBluetooth APIs are accessed. If you enable this flag, your app's Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data. On this note, you should do the same for NSLocationAlwaysUsageDescription if you have shouldUseLocationServices set to @YES. If you are linking against iOS 10, you'll want to update to this version to prevent your app submission from being rejected (or provide NSBluetoothPeripheralUsageDescription and/or NSLocationAlwaysUsageDescription descriptions in your app's Info.plist).
     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]