1.23.0 -> 1.24.0

Breaking changes

New ConfigRegion Parameter

A new ConfigRegion parameter is now required during SDK initialization. This addition is essential for proper configuration. ConfigRegion contains three regions: .US, .CAN, and .EU

Configuring Identity

From SDK 1.24, it is now essential to set the Identity as part of SDK initialization.

Important: The Identity set in this step will be utilized in all Portal APIs, so it is crucial to configure it before making any Portal API calls.

Example:

class InitializeSDK {
    init(completion: @escaping () -> ()) {
        try! initialize(
            Directories(root: sdkRootDirectory),
            configRegion: .EU,
            logLevel: .debug,
            tokenSignerFactory: { self.appTokenSigner }
        )
        
        // New Implementation
        let identity = Identity(apiKey: apiKey, externalReferenceID: uid)
        identity.setIdentity {
            // Proceed to the next step
            completion()
        }
    }
}

Removal of Identity Parameter

The Identity parameter has been removed from the TripDetectionManager class.

Example:

TripDetectionManager

// New Implementation
let tripDetectionManager = TripDetectionManager(
    uploadRoute: UploadRoute.anyNetwork,
    telemetryEvents: telemetryEvents,
    externalRecordProviders: [externalRecordProvider],
    features: features
)

Portal Services

The Identity parameter has been removed from all Portal APIs because it is expected to be set during SDK initialization. For more information on all Portal APIs, check here.

// Updated initialization of ActivationService for example
let activationService = ActivationService()

Update on AppMisuseManager

AppMisuseManager no longer requires identity and server type. It will now be retrieved from the backend.

let appMisuseService = AppMisuseManager(permissionManageable: permissionManager)

Removing tdwpServerEnv from BluetoothDeviceProvider

The tdwpEnvUrl will now be retrieved from the backend. Therefore, it no longer needs to be included it in the BluetoothDeviceProvider.

// New Implementation
let bluetoothProvider = BluetoothDeviceProvider(
    wedgeRegex: try NSRegularExpression(pattern: pattern, options: [])
)

Last updated