Migration Guide
Migration to 4.4.0
- To enable the new ID capture experience on Android, add the
com.incode.sdk:camera:1.1.0
dependency to your app’sbuild.gradle
file:
dependencies {
+ implementation 'com.incode.sdk:camera:1.1.0'
}
- If you are using NFC variant of the SDK follow the steps below to enable NFC scanning on iOS:
-
Turn on Near Field Communication Tag Reading under the Capabilities tab for the project’s target. This step:
- Adds the NFC tag-reading feature to the App ID.
- Adds the Near Field Communication Tag Reader Session Formats Entitlement to the entitlements file.
-
Add the NFCReaderUsageDescription key as a string item to the Info.plist file. For the value, enter a string that describes the reason the app needs access to the device’s NFC reader. If the app attempts to read a tag without providing this key and string, the app will crash.
-
Add interface for interacting with an ISO 7816 tag to App's Info.plist:
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
<string>A0000002471001</string>
<string>A0000002472001</string>
<string>00000000000000</string>
</array>
NOTE
If your app supports devices with iOS prior to 13.0, you will also need to set CoreNFC.framework and CryptoTokenKit.framework as an optional frameworks:
- Select your app target
- Under Build Phases -> Link Binary With Libraries add: CoreNFC.framework, CryptoTokenKit.framework and SwiftUI.framework libraries if they are already not on the list.
- And finally, for all three libraries, under Status, select Optional.
Note that even though NFC Scan module will not be performed on devices with iOS version older than 13, these steps are required because otherwise the app will crash on launch time.
Example app migration
To run the example app, follow these steps:
- Navigate to root of the example folder. Create .env file. The file is added in .gitignore so it won't be pushed to the repository. It is used to store your own credentials. Example of the .env file content:
# Demo
DEMO_API_URL=YOUR_API_URL
DEMO_API_KEY=YOUR_API_KEY
DEMO_COMBINED_CONSENT_ID=YOUR_COMBINED_CONSENT_ID
DEMO_WORKFLOW_CONFIGURATION_ID=YOUR_WORKFLOW_CONFIGURATION_ID
DEMO_FLOW_CONFIGURATION_ID=YOUR_FLOW_CONFIGURATION_ID
DEMO_DEEP_LINK=YOUR_DEEP_LINK
# SaaS
SAAS_API_URL==YOUR_API_URL
SAAS_API_KEY=YOUR_API_KEY
SAAS_COMBINED_CONSENT_ID=YOUR_COMBINED_CONSENT_ID
SAAS_WORKFLOW_CONFIGURATION_ID=YOUR_WORKFLOW_CONFIGURATION_ID
SAAS_FLOW_CONFIGURATION_ID=YOUR_FLOW_CONFIGURATION_ID
SAAS_DEEP_LINK=YOUR_DEEP_LINK
- Run
flutter pub get
to install dependencies. - Run the following commands to generate corresponding files for those env values:
flutter pub run build_runner clean
flutter pub run build_runner build --delete-conflicting-outputs
- The mandatory values to run the app properly are
apiKey
andapiUrl
. Replace the other values in home.dart based on your needs. - Run the app.
Migration to 4.3.0
- iOS integration requires
Podfile
update and SSH access being setup on the machine. Add these lines to thePodfile
:
+ source 'https://cdn.cocoapods.org/'
+ source '[email protected]:Incode-Technologies-Example-Repos/IncdDistributionPodspecs.git'
If you don't have access to the Incode's GitHub repo and SSH setup on the machine, please contact your Incode representative for support.
Migration to 3.2.0
compileSdk
and/or compileSdkVersion
should be updated to 34.
Migration to 3.0.0
- Remove
core-light
dependency in your Android project'sbuild.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.6.2' // Required core dependency
}
com.incode.sdk:core-light
dependency is now part of the Flutter SDK itself.
- Gradle versions should be updated to 7.+, ie. :
dependencies {
- classpath 'com.android.tools.build:gradle:4.2.0'
+ classpath 'com.android.tools.build:gradle:7.4.2'
}
Update gradle distributionUrl in your gradle-wrapper.properties
:
- distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
Migration to 2.8.0
- Update dependency in your Android project's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.6.1' // Required core dependency
+ implementation 'com.incode.sdk:core-light:2.6.2' // Required core dependency
}
Migration to 2.7.0
- Update dependency in your Android project's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.5.1' // Required core dependency
+ implementation 'com.incode.sdk:core-light:2.6.1' // Required core dependency
}
- The following dependencies are optional and needed only in very specific use cases.
Make sure you are using the features they provide before adding the dependencies below. Update dependency in your Android project'sbuild.gradle
:
dependencies {
+ implementation 'com.incode.sdk:kiosk-login:1.3.1' // Optional kiosk-login dependency is only necessary if you are using Kiosk Login feature of the SDK.
+ implementation 'com.incode.sdk:model-liveness-detection:3.0.0' // Optional model-liveness-detection dependency is only necessary if you are using liveness detection feature that runs locally on device. This feature can be used within IncodeOnboardingSdk.startFaceLogin method
+ implementation 'com.incode.sdk:model-face-recognition:3.0.0' // Optional model-face-recognition dependency is only necessary if you are using face recognition feature that runs locally on device. This feature can be used within IncodeOnboardingSdk.startFaceLogin method
}
Migration to 2.6.0
- Update dependency in your Android project's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.5.0' // Required core dependency
+ implementation 'com.incode.sdk:core-light:2.5.1' // Required core dependency
}
Migration to 2.4.0
- Update dependency in your Android project's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.4.0' // Required core dependency
+ implementation 'com.incode.sdk:core-light:2.5.0' // Required core dependency
}
-
Update
compileSdkVersion
andtargetSdkVersion
in your Android project'sbuild.gradle
to 33. -
Bumped
minSdkVersion
into 21 from 17
Migration to 2.2.0
- Update dependency in your Android project's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.3.0' // Required core dependency
+ implementation 'com.incode.sdk:core-light:2.4.0' // Required core dependency
}
Migration to 2.1.0
- Update dependency in your Android project's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.2.0' // Required core dependency
+ implementation 'com.incode.sdk:core-light:2.3.0' // Required core dependency
}
Migration to 2.x
- Added
setupOnboardingSession
that replacescreatingNewOnboardingSession
andsetOnboardingSession
- IncodeOnboardingSdk.creatingNewOnboardingSession
+ IncodeOnboardingSdk.setupOnboardingSession
- IncodeOnboardingSdk.setOnboardingSession
+ IncodeOnboardingSdk.setupOnboardingSession
- iOS app setup changed - it is no longer needed to add these lines to the Podfile, so these should be removed when upgrading to 2.x:
-source 'https://github.com/CocoaPods/Specs.git'
-source '[email protected]:Incode-Technologies-Example-Repos/IncdDistributionPodspecs.git'
Updated about 1 month ago