- 23 Oct 2024
- 2 Minutes to read
- DarkLight
Integrating the Orchestration SDK
- Updated on 23 Oct 2024
- 2 Minutes to read
- DarkLight
Android
To use OneSpan Orchestration SDK in your Android project
Configure your Maven repository using dependencies from the Bin/maven directory.
Add the following dependencies to the dependencies configuration in the build.gradle file :
dependencies { ... implementation 'androidx.biometric:biometric:1.1.0' implementation 'com.google.firebase:firebase-core:21.1.1' implementation 'com.google.firebase:firebase-messaging:23.1.2' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.lifecycle:lifecycle-runtime:2.6.0' implementation 'com.google.android.material:material:1.8.0' implementation 'com.google.android.gms:play-services-location:21.0.1' implementation 'com.esotericsoftware:kryo:5.3.0' implementation 'org.bouncycastle:bcprov-jdk15on:1.70 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0" ... }
Set the correct permissions for client device data collection in the AndroidManifest.xml file:
Geolocation/Bluetooth/Wi-Fi: ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION
Wi-Fi: ACCESS_WIFI_STATE, ACCESS_NETWORK_STATE, and CHANGE_WIFI_STATE
Bluetooth: BLUETOOTH and BLUETOOTH_ADMIN for Android lower than 12
Bluetooth: BLUETOOTH_CONNECT and BLUETOOTH_SCAN for Android 12 and later
Sampling rate: HIGH_SAMPLING_RATE_SENSORS for Android 12 and later
The Orchestration SDK provides facilities for biometric recognition on Android 6.0 devices (and later) with a biometric scanner.
If you use the Mobile Application Shielding obfuscation feature, you must add the following rule to the Mobile Application Shielding obfuscation configuration file:
untouchable com.esotericsoftware.kryo.*;
For more specific integration details, refer to the code sample that is provided with the Orchestration SDK product package.
The Orchestration SDK requires the following permissions:
USE_BIOMETRIC for biometric recognition on Android 6.0 devices (and later) with the available biometric authentication method.
VIBRATE for password input.
These permissions are listed in the AndroidManifest.xml file contained in OrchestrationSDK.aar. This file is included in the maven repository, therefore the permissions do not need to be duplicated in the AndroidManifest.xml file of the Customer Mobile Application.
As of Android 13, to receive notifications in the Orchestration SDK you have to manually handle the new runtime permission POST_NOTIFICATIONS. For more information, refer to developer.android.com.
The Orchestration SDK library size has increased due to 64-bit support. To reduce the binary size, it is possible to generate one app per architecture. For more details refer to Build Multiple APKs. The orchestration sample build.gradle contains a commented-out section to generate split APKs.
At this time, it is not possible to use the Android Allow Backup feature. There is a known issue that excludes storage files from the backup which are critical for the Orchestration SDK to work properly. We strongly recommend disabling the Allow Backup option.
You are now ready to use the Orchestration SDK.
iOS
Using OneSpan Orchestration SDK in your iOS project
Link MSSOrchestration.xcframework to your Xcode project.
Link MSSDeviceBinding.xcframework to your Xcode project.
Link MSSNotificationClient.xcframework to your Xcode project.
Link MSSOrchestrationResources.bundle to your Xcode project as standard resource file.
Add the following keys and their description to your plist:
NSCameraUsageDescription
NSFaceIDUsageDescription
NSLocationWhenInUseUsageDescription
NSBluetoothPeripheralUsageDescription
NSBluetoothAlwaysUsageDescription
NSLocalNetworkUsageDescription (if applicable)
As of release 5.6.2, it is mandatory to use the AppPrivate access group for activated users when creating an orchestration. The access group setup is similar to the one introduced in the Device Binding SDK. For more information, refer to the technical documentation included in the Orchestration SDK package. For a detailed tutorial on how to configure the project and use the proper access group, see the MSSDeviceBinding.doccarchive file from the iOS/Documentation folder of the Device Binding SDK package.
The NSLocalNetworkUsageDescription description has to be set only if your application (or specific test target) actually accesses the server in a local network. When this applies, set waitsForConnectivity to true. With this URLSessionConfiguration used in the communication waits for user's interaction, displaying a permission pop-up.
For more specific integration details, refer to the code sample that is provided with the Orchestration SDK product package.
You are now ready to use the Orchestration SDK.