Migrate from v1.2.0 to v2.0.0

Medallia Experience Orchestration SDK for iOS v2.0.0 completely removes previously deprecated API parameters that were required for the SDK configuration. It is meant to simplify configuration process and improve Interaction performance of the SDK.

Orchestration SDK for iOS v2.0.0 introduces a braking change for the opt-out configuration. The opt-in option for all tracking has been removed. If it was used in your opt-out configuration, replace it with a combination of all tracking options instead as shown in step 3.

Orchestration SDK for iOS v2.0.0 also introduces breaking changes for the element paths generation logic for SwiftUI apps. If you were using the previous version of the SDK with a SwiftUI app, make sure to create the new Interaction configuration in Medallia Experience Orchestration.

  1. Navigate to your AppDelegate class.
  2. Remove deprecated API parameters.

    Remove the apiKey, sharedSecret, and userId values from the MedalliaMXO.configuration method in didFinishLaunchingWithOptions:

    builder.apiKey = "f713d44a-8af0-4e79-ba7e-xxxxxxxxxxxxxxxxx"
    builder.sharedSecret = "bb8bacb2-ffc2-4c52-aaf4-xxxxxxxxxxx"
    builder.userId = "api@yourCompanyName"
    builder.apiKey = @"f713d44a-8af0-4e79-ba7e-xxxxxxxxxxxxxxxx";
    builder.sharedSecret = @"bb8bacb2-ffc2-4c52-aaf4-xxxxxxxxxx";
    builder.userId = @"api@yourCompanyName";
  3. Update the optout configuration.
    Replace .allTracking option for Swift and AllTracking option for Objective-C with the combination of all available optInOptions as shown below:
    let builder = MedalliaMXO.optOutConfiguration?.builder() ?? MXOOptOutConfigurationBuilder()
    builder.optOut = false
    builder.optInOptions = [.cityCountryDetection, .keychainTidStorage, .interactionTracking]
    MedalliaMXO.optOutConfiguration = builder.build()
    MXOOptOutConfigurationBuilder *builder = MedalliaMXO.optOutConfiguration.builder ? MedalliaMXO.optOutConfiguration.builder : [MXOOptOutConfigurationBuilder new];
    builder.optOut = NO;
    builder.optInOptions = (CityCountryDetection | KeychainTidStorage | InteractionTracking)
    MedalliaMXO.optOutConfiguration = [builder build];
    Note: For more information, see Opting a user out or into tracking.
  4. Migrate SwiftUI Interaction configuration.
    Since the element paths generation logic for SwiftUI apps has changed, it is required to create the new Interaction configuration in your MXO Space for SwiftUI Touchpoints running in iOS 17.

    To do that, you can run your SwiftUI app in Admin mode, configure the new Interactions Points, and publish the changes in your MXO Space.

You have now successfully migrated to the MXO SDK version 2.0.0.