Migration Guide
Migration to 9.3.0
- Update Android
minSdkVersion
in you Android projects'sbuild.gradle
:
buildscript {
ext {
- minSdkVersion = 21
+ minSdkVersion = 23
}
}
Remove com.incode.sdk:camera:1.1.0
dependency in your app’s build.gradle
file:
dependencies {
- implementation 'com.incode.sdk:camera:1.1.0'
}
For Expo integrations, update your app.json
:
{
"expo": {
"plugins": [
[
{
- "addCamera": "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.
If you are using Expo with the NFC variant, in order for it to work on Android it is necessary to:
- Bump
expo-incode-sdk-configuration
version to 1.1.4 inpackage.json
.
{
"dependencies": {
- "@incode-sdks/expo-incode-sdk-configuration": "1.1.3"
+ "@incode-sdks/expo-incode-sdk-configuration": "1.1.4"
}
}
- Add
addNfc
plugin inapp.json
.
"plugins": [
[
"@incode-sdks/expo-incode-sdk-configuration",
{
"artifactoryUserName": "client_artifactory_username",
"artifactoryPassword": "client_artifactory_password",
"addIncodeSourceToPodfile": true,
"cameraUsageDescription": "The SDK uses the camera in order to verify the identity of the customer, e.g. in ID scan, Selfie scan and so on.",
"locationWhenInUseUsageDescription": "The SDK uses the current user location in order to detect exact location for Geolocation step.",
"microphoneUsageDescription": "The SDK uses microphone for performing a video call during Video Conference step or for doing speech recognition during Video Selfie.",
+ "addNfc": "1.3.5"
}
]
]
Migration to 9.1.0
To enable the new ID capture experience on Android, add the com.incode.sdk:camera:1.1.0
dependency to your app’s build.gradle
file:
dependencies {
+ implementation 'com.incode.sdk:camera:1.1.0'
}
For Expo integrations, update your app.json
to enable the new ID capture experience:
{
"expo": {
"plugins": [
[
{
+ "addCamera": "1.1.0"
}
]
]
}
}
Migration to 9.0.0
- RN SDK is now delivered in multiple versions:
9.0.0
: Standard version9.0.0-vc
: Includes streaming9.0.0-e2ee
: Includes end-to-end encryption - Remove Android
com.incode.sdk:core-light
dependency in your app'sbuild.gradle
:
dependencies { implementation 'com.incode.sdk:core-light:2.6.4' }
- Add these lines to the Podfile:
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. - For Expo integrations minimum 1.1.2 expo configuration plugin is required:
"@incode-sdks/expo-incode-sdk-configuration": "1.1.2"
*Only for Expo integrations - Update app.json and remove coreLightVersion
param.
Migration to 8.1.0
- The requirement for a minimum supported React Native version of 0.74 has been removed. You can now use this library with earlier versions of React Native, as long as they meet other necessary dependencies.
Migration to 8.0.0
-
The minimum supported React Native version is 0.74 due to the requirements of
compileSdk 34
andclasspath("org.jetbrains.kotlin:kotlin-gradle-plugin")
. Please upgrade your project to React Native version 0.74 or higher to ensure compatibility. -
Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.6.3'
+ implementation 'com.incode.sdk:core-light:2.6.4'
}
- Update
compileSdk
version to 34:
android {
- compileSdk 33
+ compileSdk 34
}
- Expo integration. Update
plugins
field inapp.json
:
"plugins": [
[
"@incode-sdks/expo-incode-sdk-configuration",
{
- "coreLightVersion": "2.6.3"
+ "coreLightVersion": "2.6.4"
}
]
]
Migration to 6.4.0
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.6.2'
+ implementation 'com.incode.sdk:core-light:2.6.3'
}
- Expo integration. Update
plugins
field inapp.json
:
"plugins": [
[
"@incode-sdks/expo-incode-sdk-configuration",
{
- "coreLightVersion": "2.6.2"
+ "coreLightVersion": "2.6.3"
}
]
]
Migration to 6.2.0
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.6.1'
+ implementation 'com.incode.sdk:core-light:2.6.2'
}
- Expo integration. Update
plugins
field inapp.json
:
"plugins": [
[
"@incode-sdks/expo-incode-sdk-configuration",
{
- "coreLightVersion": "2.6.1"
+ "coreLightVersion": "2.6.2"
}
]
]
Migration to 6.1.0
- Expo integration. Update
plugins
field inapp.json
:
"plugins": [
[
"@incode-sdks/expo-incode-sdk-configuration",
{
+ "coreLightVersion": "2.6.1"
}
]
]
Migration to 6.0.0
- Update Incode SDK dependency in
package.json
:
"dependencies": {
- "react-native-incode-sdk": "https://sdk-js.s3.amazonaws.com/react-native/react-native-incode-sdk-5.6.0-nvc.tgz"
+ "@incode-sdks/react-native-incode-sdk": "^6.0.0"
}
- Update
Podfile
:
If RN >= 0.69 remove this line:
- pod 'react-native-incode-sdk', :path => '../node_modules/react-native-incode-sdk/'
If RN < 0.69 update this line:
- pod 'react-native-incode-sdk', :path => '../node_modules/react-native-incode-sdk/'
+ pod 'react-native-incode-sdk', :path => '../node_modules/@incode-sdks/react-native-incode-sdk/'
- Update
App.js
:
- import IncodeSdk from 'react-native-incode-sdk';
+ import IncodeSdk from '@incode-sdks/react-native-incode-sdk';
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.5.1
+ implementation 'com.incode.sdk:core-light:2.6.1'
}
Migration to 5.6.1
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.5.0
+ implementation 'com.incode.sdk:core-light:2.5.1'
}
Migration to 5.4.0
- Update Android
minSdkVersion
in you Android projects'sbuild.gradle
:
buildscript {
ext {
- minSdkVersion = 17
- compileSdkVersion = 31
- targetSdkVersion = 31
+ minSdkVersion = 21
+ compileSdkVersion = 21
+ targetSdkVersion = 21
}
}
Migration to 5.3.0
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.3.0
+ implementation 'com.incode.sdk:core-light:2.5.0'
}
Migration to 5.2.1
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.2.0
+ implementation 'com.incode.sdk:core-light:2.3.0'
}
Migration to 5.1.0
Removed startFaceLogin
parameter customerToken
, specify only customerUUID
.
Migration to 5.x
startOnboarding
andstartOnboardingSection
parameter nameconfig
renamed toflowConfig
.
IncodeSdk.startOnboarding({
- config: [
+ flowConfig: [
{ module: 'IdScan' },
{ module: 'SelfieScan' },
{ module: 'FaceMatch' },
],
})
IncodeSdk.startOnboardingSection({
- config: [
+ flowConfig: [
{ module: 'IdScan' },
{ module: 'SelfieScan' },
{ module: 'FaceMatch' },
],
})
- Added
setupOnboardingSession
that replacescreatingNewOnboardingSession
andsetOnboardingSession
- await IncodeSdk.creatingNewOnboardingSession({})
+ await IncodeSdk.setupOnboardingSession({})
- await IncodeSdk.setOnboardingSession({})
+ await IncodeSdk.setupOnboardingSession({})
validationModules
param ofcreateNewOnboardingSession
andsetOnboardingSession
is now part ofsetupOnboardingSession
method'ssessionConfig
param
- await IncodeSdk.createNewOnboardingSession({
- sessionConfig: {
- ...
- },
- validationModules: ['id', 'liveness'],
+ await IncodeSdk.setupOnboardingSession({
+ sessionConfig: {
+ ...
+ validationModules: ['id', 'liveness'],
+ },
- await IncodeSdk.setOnboardingSession({
- sessionConfig: {
- ...
- },
- validationModules: ['id', 'liveness'],
+ await IncodeSdk.setupOnboardingSession({
+ sessionConfig: {
+ ...
+ validationModules: ['id', 'liveness'],
+ },
Migration to 4.5.0-nvc
- Update Android dependency in you app's
build.gradle
:
dependencies {
- implementation 'com.incode.sdk:core-light:2.0.0
+ implementation 'com.incode.sdk:core-light:2.2.0'
}
Migration to 4.4.1-nvc
- In your Android app's
build.gradle
file setcompileSdkVersion
to 31 or higher.
Migration to 4.4.0-nvc
UserScoreCompleteEvent
fields are now reorganized differently:
- Basic parsed user score results are stored in
result.data
- Full UserScore data is set as raw JSON in
result.extendedUserScoreJsonData
field
Migration to 4.x
initialize
method changes:
- Removed
conferenceUrl
parameter method that wasn't used. - Removed
regionCode
parameter, now part ofOnboardingSessionConfig
object that is available as an optional parameter instartOnboarding
,createOnboardingSession
, andsetOnboardingSession
methods.
startOnboarding
method changes:
- Removed
interviewId
parameter, now part ofsessionConfig
object that is available as an optional parameter - Removed
configurationId
parameter, now part ofsessionConfig
object that is available as an optional parameter - Added optional
sessionConfig
parameter,OnboardingSessionConfig
object where you can specify all session parameters.
createOnboardingSession
method changes:
- Removed unused
verifiers
parameter - Added optional
sessionConfig
parameter,OnboardingSessionConfig
object where you can specify all session parameters. - Added
validationModules
parameter, where you can specify the list of validation modules used for a session.
startOnboardingSection
method changes:
- Removed
interviewId
parameter. Please specify it either increateOnboardingSession
orsetOnboardingSession
viasessionConfig
parameter.
Migration to 3.2.x
How ID results were provided before 3.2.x:
const setupListeners = () => {
// returns a callback to unregister your listener, e.g. when your screen is getting unmounted
const complete = IncodeSdk.onStepCompleted;
return [
complete({
module: 'IdScan',
listener: (e) => {
console.log('ID scan result:', e.result);
},
}),
];
};
How to listen for ID results in 3.2.x:
const setupListeners = () => {
// returns a callback to unregister your listener, e.g. when your screen is getting unmounted
const complete = IncodeSdk.onStepCompleted;
return [
complete({
module: 'IdScanFront',
listener: (e) => {
console.log('ID scan front result:', e.result);
},
}),
complete({
module: 'IdScanBack',
listener: (e) => {
console.log('ID scan back result: ', e.result);
},
}),
complete({
module: 'ProcessId',
listener: (e) => {
console.log('ProcessId result: ', e.result.extendedOcrData);
},
}),
];
};
iOS Podfile changes
Standard SDK:
Replace
pod 'react-native-incode-sdk', :path => '../node_modules/react-native-incode-sdk'
with:
pod 'react-native-incode-sdk', :path => '../node_modules/react-native-incode-sdk/ios'
Dynamic Delivery:
Replace
pod 'react-native-incode-sdk/ODR', :path => '../node_modules/react-native-incode-sdk'
with:
pod 'react-native-incode-sdk/ODR', :path => '../node_modules/react-native-incode-sdk/ios'
Migration to 3.1.x
If you wish to keep using standard/Non-Dynamic Delivery version of the SDK on Android platform, please add this dependency in you app's build.gradle
:
implementation 'com.incode.sdk:core-light:2.0.0'
Updated about 17 hours ago