Migration Guides
Migration Guide for SDK v4.45.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.44.1.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- There is no need to remove default permissions in AndroidManifest.xml anymore. Snippet like below, can now be removed from your configuration:
XML1<!--Remove old permissions-->2 <permission3 android:name="com.morpho.mph_bio_sdk.android.sdk.content_provider.BioStoreProvider.READ_MPH_BIO_SDK_PROVIDER"4 tools:node="remove" />5 <permission6 android:name="com.morpho.mph_bio_sdk.android.sdk.content_provider.BioStoreProvider.WRITE_MPH_BIO_SDK_PROVIDER"7 tools:node="remove" />8 <permission9 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider.WRITE_LKMS_LICENSE_PROVIDER"10 tools:node="remove"11 />12 <permission13 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider.READ_LKMS_LICENSE_PROVIDER"14 tools:node="remove"15 />
- RemoteUseCase:
- Add handling new error type
DEVICE_BLOCKED
:
Kotlin1val captureResultListener = RemoteCaptureResultListener { result ->2 when (result) {3 is Success -> {4 // Capture completed with success, you can now download information about liveness from WBS or GIPS5 }67 is Failure -> {8 when(error.type) {9 ErrorType.DEVICE_BLOCKED -> {10 showDeviceWasBlocked(error.unlockDateTime)11 }12 else -> //other error types13 }14 }15 }16}
- FingerCaptureResultListener:
- Added new callback for success containing finger images for display:
Kotlin1val listener = object : FingerCaptureResultListener {2 override fun onCaptureSuccess(images: MutableList<MorphoImage>, captureResult: FingerCaptureResult) {3 //deprecated4 }56 override fun onCaptureSuccess(7 images: List<MorphoImage>,8 imagesToDisplay: List<FingerImagePreview>,9 captureResult: FingerCaptureResult10 ) {11 forDisplay(imagesToDisplay)12 forMatching(images)13 }1415 override fun onCaptureFailure(captureError: CaptureError, biometricInfo: IBiometricInfo, extraInfo: Bundle) {16 onFailure()17 }1819}
- Removed handling
integrity
,sharpness
,reflections
,lighting
andbadFraming
fromDocumentImageQualityIndicators
inonDocumentCaptureFailure
callback coming fromDocumentCaptureListener
.
Migration Guide for NFCReader 2.1.1
This NFCReader release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v4.44.1
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for UiExtensions v2.1.0
What is Needed?
The Android project that has been integrated with the UiExtensions version 2.0.0 and CaptureSDK with version >= 4.43.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
This version contains changes related with replacing MorphoSurfaceView
with CaptureView
- so it is required to use it ONLY WITH CaptureSDK with version >=4.44.0!
- To fill preview on layout, parameters
scaleX
andscaleY
frompreviewScale
should be set to 1 or removed. Now layout should be filled out of the box.
Migration Guide for SDK v4.44.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.43.2.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Legacy capture:
- Replacement of MorphoSurfaceView:
- Replace usage of
morpho.urt.msc.mscengine.MorphoSurfaceView
withcom.idemia.smartsdk.preview.CaptureView
From:
XML1(...)2 <morpho.urt.msc.mscengine.MorphoSurfaceView3 android:id="@+id/previewSurface"4 android:layout_height="match_parent"5 android:layout_width="match_parent"/>
To:
XML1(...)2 <com.idemia.smartsdk.preview.CaptureView3 android:id="@+id/previewSurface"4 android:layout_height="match_parent"5 android:layout_width="match_parent"/>
- In opposite to
MorphoSurfaceView
, there is no need to callonDestroy
onCapturePreview
when Activity/Fragment is destroyed. Furthermore,CapturePreview
does not have such method, so after addingCapturePreview
to your xml file this call can be safely removed.
IMPORTANT: If you are using UiExtensions library, you must update its version to at least 2.1.0!
- Remove usage of method
onError(exception: MSCException)
inPreviewStatusListener
. From now, the only method to handler errors associated with preview isonError(error: PreviewError)
.
Migration Guide for NFCReader 2.1.0
What is Needed?
The Android project that has been integrated with the NFCReader version 2.0.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous NFCReader version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Migration Guide for SDK v4.43.2
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v4.43.1
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v4.43.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.42.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
License:
Android Manifest: Due to internal SDK changes with license management, there is need to change of permissions and provider in AndroidManifest of application.
From:
XML1<permission2 android:name="com.morpho.mph_bio_sdk.android.sdk.content_provider.BioStoreProvider.READ_MPH_BIO_SDK_PROVIDER"3 tools:node="remove" />4 <permission5 android:name="com.morpho.mph_bio_sdk.android.sdk.content_provider.BioStoreProvider.WRITE_MPH_BIO_SDK_PROVIDER"6 tools:node="remove" />7 <permission8 android:name="com.morpho.lkms.android.sdk.lkms_core.content_provider.LkmsStoreProvider.WRITE_LKMS_LICENSE_PROVIDER"9 tools:node="remove"10 />11 <permission12 android:name="com.morpho.lkms.android.sdk.lkms_core.content_provider.LkmsStoreProvider.READ_LKMS_LICENSE_PROVIDER"13 tools:node="remove"14 />15 <provider16 android:name="com.morpho.lkms.android.sdk.lkms_core.content_provider.LkmsStoreProvider"17 android:authorities="your.new.authority"18 android:readPermission="your.new.permission.NEW_READ_LKMS_LICENSE_PROVIDER"19 android:writePermission="your.new.permission.NEW_WRITE_LKMS_LICENSE_PROVIDER"20 tools:replace="android:authorities, android:readPermission, android:writePermission">
To:
XML1<permission2 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider.READ_MPH_BIO_SDK_PROVIDER"3 tools:node="remove" />4 <permission5 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider.WRITE_MPH_BIO_SDK_PROVIDER"6 tools:node="remove" />7 <permission8 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider.WRITE_LKMS_LICENSE_PROVIDER"9 tools:node="remove"10 />11 <permission12 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider.READ_LKMS_LICENSE_PROVIDER"13 tools:node="remove"14 />15 <provider16 android:name="com.idemia.license.android.sdk.content_provider.LicenseStoreProvider"17 android:authorities="your.new.authority"18 android:readPermission="your.new.permission.NEW_READ_LKMS_LICENSE_PROVIDER"19 android:writePermission="your.new.permission.NEW_WRITE_LKMS_LICENSE_PROVIDER"20 tools:replace="android:authorities, android:readPermission, android:writePermission">
Document:
- Methods
setSharpnessPercentage(sharpnessPercentage: Int)
,setQualityReflection(qualityReflection: QualityReflection)
,setIntegrityPercentage(integrityPercentage: Int)
,getSharpnessPercentage()
,getQualityReflection()
,getIntegrityPercentage()
fromDocumentImage
andonDocumentCaptureFailure(captureError: DocumentCaptureError?)
were removed from document-related listeners. Below you can see sample code for Barcode and Document listeners for replacement.
Kotlin1documentHandler?.setBarcodeListener(object: object : BarcodeListener {23 override fun onBarcodeRead(capture: List<String>) {4 // Barcode captured5 }67 override fun onDocumentCaptureFailure(captureError: DocumentCaptureError, indicators: DocumentImageQualityIndicators?) {8 //Capture failed - you can check quality indicators9 }1011 override fun onCaptureFinish() {12 //Capture finished13 }14})
Kotlin1captureHandler.setDocumentCaptureListener(object: DocumentCaptureListener {23 override fun onCaptureFinish() {4 // Capture finished5 }67 override fun onCaptureImageDocument(image: DocumentImage?) {8 // Document captured9 }1011 override fun onMRZDocumentRead(mrzLines: MutableList<IMRZLine>?, mrzRecord: IMrzRecord?) {12 // MRZ captured13 }1415 override fun onCaptureFieldImageDocument(image: DocumentImage?, label: String?) {16 // A field has been coded17 }1819 override fun onDocumentCaptureFailure(captureError: DocumentCaptureError, indicators: DocumentImageQualityIndicators?) {20 // Capture failed - you can check quality indicators21 }22})
-
Remove logic associated with handling
DocCaptureInfo.MOVEMENT
andCaptureFeedback.MOVEMENT
. -
Add handling
DocCaptureInfo.LOW_LIGHT
feedback.
RemoteDocument:
(Optional )It is possible to get document images on capture timeout by passing CaptureTimeoutListener
to RemoteUseCase
.
Kotlin1private val timeoutListener = object: CaptureTimeoutListener {2 override fun onTimeoutOccurred(documentImages: List<DocumentImage>) {3 // Images can be shown to the user4 }5 }6 private val useCase = RemoteUseCase(feedbackListener, adjudicationListener, sessionInfo, timeoutListener)78 (...)
NOTE: Capture result will be Failure
, so sending those images to the server for verification is impossible, but they can be used with DocumentImageQualityIndicators
to explain what went wrong during the capture. DocumentImageQualityIndicators
from Failure
are applicable to the last image.
Migration Guide for UiExtensions v2.0.0
What is Needed?
The Android project that has been integrated with the UiExtensions version 1.2.18 and CaptureSDK with version >= 4.42.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- If you are not directly using any of xml layouts coming from the library, then you can skip this section. Otherwise, rename the imports as below:
capture_delay_layout.xml to uiextension_capture_delay_layout.xml capture_result_image_view.xml to uiextension_capture_result_image_view.xml circle_layout.xml to uiextension_circle_layout.xml face_overlay_layout.xml to uiextension_face_overlay_layout.xml fade_layout.xml to uiextension_fade_layout.xml feedback_layout.xml to uiextension_feedback_layout.xml finger_feedback_layout.xml to uiextension_finger_feedback_layout.xml finger_layout.xml to uiextension_finger_layout.xml oval_image_view.xml to uiextension_oval_image_view.xml passive_video_layout.xml to uiextension_passive_video_layout.xml pointer_layout.xml to uiextension_pointer_layout.xml preparation_loader_layout.xml to uiextension_preparation_loader_layout.xml progress_bar_layout.xml to uiextension_progress_bar_layout.xml progress_layout.xml to uiextension_progress_layout.xml scene_border_layout.xml to uiextension_scene_border_layout.xml scene_layout.xml to uiextension_scene_layout.xml tapping_feedback_layout.xml to uiextension_tapping_feedback_layout.xml target_layout.xml to uiextension_target_layout.xml tutorial_view.xml to uiextension_tutorial_view.xml vertical_device_position_feedback_layout.xml to uiextension_vertical_device_position_feedback_layout.xml
- It is possible to set your own title and description for the view displayed before PassiveVideo capture. To do so, modify
titleResId
anddescriptionResId
inpreparationScene
dsl.
Kotlin1passiveVideoCaptureSettings {2 scene {3 preparationScene {4 titleResId = R.string.preparation_passivevideo_title5 descriptionResId = R.string.preparation_passivevideo_description6 (...)7 }8 }9 (...)10}
- You can set up view which will be shown before Active Liveness capture by adding
overlay
property inscene
as presented below.
Kotlin1joinThePointsChallengeSettings {2 useInterpolation = true3 scene {4 overlay {5 showOverlay = true6 imageRes = R.drawable.ic_face_overlay7 marginVertical = R.dimen.default_face_overlay_vertical_padding8 marginHorizontal = R.dimen.default_face_overlay_vertical_padding9 text {10 text = R.string.default_overlay_text11 textSize = R.dimen.default_overlay_text_size12 textColor = Color.parseColor(Colors.text_black)13 }14 }15 }16 (...)17}
Migration Guide for UiExtensions 1.2.18
This version of UiExtensions is fully compatible with 1.2.17, so there are no migration steps.
Migration Guide for SDK v.4.42.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.41.1.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Document:
Information about document image quality indicators MUST be retrieved from onDocumentCaptureFailure()
callback (see code snippet below), as methods getSharpnessPercentage()
, getIntegrityPercentage()
and getQualityReflection()
now throws NoSuchFieldException.
Kotlin1captureHandler.setDocumentCaptureListener(object: DocumentCaptureListener {23 override fun onCaptureFinish() {4 //Capture finished5 }67 override fun onCaptureImageDocument(image: DocumentImage?) {8 //Document captured9 }1011 override fun onMRZDocumentRead(mrzLines: MutableList<IMRZLine>?, mrzRecord: IMrzRecord?) {12 //MRZ captured13 }1415 override fun onCaptureFieldImageDocument(image: DocumentImage?, label: String?) {16 //A field has been coded17 }1819 override fun onDocumentCaptureFailure(captureError: DocumentCaptureError?) {20 //Deprecated failure method21 }2223 override fun onDocumentCaptureFailure(captureError: DocumentCaptureError, indicators: DocumentImageQualityIndicators?) {24 //Capture failed - you can check quality indicators25 }26})
Migration Guide for UiExtensions 1.2.17
This version of UiExtensions is fully compatible with 1.2.16, so there are no migration steps.
Migration Guide for UiExtensions 1.2.16
This version of UiExtensions is fully compatible with 1.2.15, so there are no migration steps.
Migration Guide for NFCReader 2.0.0
What is Needed?
The Android project that has been integrated with the NFCReader version 1.2.2.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous NFCReader version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
General:
Failure
now contain code of failure. This is information only needed for NFCReader developer to NFC reading failed.
Migration Guide for SDK v4.41.1
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for NFCReader 1.2.2
What is Needed?
The Android project that has been integrated with the NFCReader version 1.2.1.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous NFCReader version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Due to the fact that NFCConfiguration
now do not need configuration for SDKExperience there is removed MissingSdkExperienceConfigurationException
.
If SDKExperience
is not provided to NFCConfiguration
using function getTutorialProvider
will return TutorialProvider
which information about NFC positions and animations are coming from library.
Migration Guide for SDK v4.41.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.40.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
General:
- New method -
onError(error: PreviewError)
must be implemented in PreviewStatusListener. This method replacesonError(exception: MSCException)
- which will be removed in the future. PreviewError contains amessage
field which explains the reason of the failure.
Kotlin1handler?.startPreview(object : PreviewStatusListener {2 override fun onStarted() {3 Log.d(TAG, "preview started")4 handler?.startCapture()5 }67 override fun onError(exception: MSCException) {8 //SHOULDN'T BE USED - WILL BE REMOVED IN VERSION 4.44.09 }1011 override fun onError(error: PreviewError) {12 Log.d(TAG, "Starting preview error: ${error.message}")13 }14 })
Migration Guide for UiExtensions 1.2.15
What is Needed?
The Android project that has been integrated with the UiExtensions version 1.2.13 and CaptureSDK with version >= 4.37.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
If you don't set feedbackStringMapping
by yourself - no migration steps are needed. Otherwise you should use faceFeedbackStringMapping
instead. To do so, just replace BioCaptureInfo enum values with corresponding types of FaceCaptureInfo in your mapping. So change:
BioCaptureInfo.FACE_INFO_COME_BACK_FIELD to FaceCaptureInfo.INFO_COME_BACK_FIELD
BioCaptureInfo.FACE_INFO_TURN_LEFT to FaceCaptureInfo.INFO_TURN_LEFT
BioCaptureInfo.FACE_INFO_CENTER_TURN_LEFT to FaceCaptureInfo.INFO_CENTER_TURN_LEFT
BioCaptureInfo.FACE_INFO_CENTER_TURN_RIGHT to FaceCaptureInfo.INFO_CENTER_TURN_RIGHT
BioCaptureInfo.FACE_INFO_CENTER_ROTATE_DOWN to FaceCaptureInfo.INFO_CENTER_ROTATE_DOWN
BioCaptureInfo.FACE_INFO_CENTER_ROTATE_UP to FaceCaptureInfo.INFO_CENTER_ROTATE_UP
BioCaptureInfo.FACE_INFO_CENTER_TILT_LEFT to FaceCaptureInfo.INFO_CENTER_TILT_LEFT
BioCaptureInfo.FACE_INFO_CENTER_TILT_RIGHT to FaceCaptureInfo.INFO_CENTER_TILT_RIGHT
BioCaptureInfo.FACE_INFO_CENTER_MOVE_FORWARDS to FaceCaptureInfo.INFO_CENTER_MOVE_FORWARDS
BioCaptureInfo.FACE_INFO_CENTER_MOVE_BACKWARDS to FaceCaptureInfo.INFO_CENTER_MOVE_BACKWARDS
BioCaptureInfo.FACE_INFO_TOO_FAST to FaceCaptureInfo.INFO_TOO_FAST
BioCaptureInfo.FACE_CENTER_GOOD to FaceCaptureInfo.CENTER_GOOD
BioCaptureInfo.FACE_INFO_DONT_MOVE to FaceCaptureInfo.INFO_DONT_MOVE
BioCaptureInfo.FACE_INFO_CHALLANGE_2D to FaceCaptureInfo.INFO_CHALLANGE_2D
BioCaptureInfo.FACE_INFO_STAND_STILL to FaceCaptureInfo.INFO_STAND_STILL
BioCaptureInfo.FACE_INFO_NOT_MOVING to FaceCaptureInfo.INFO_NOT_MOVING
BioCaptureInfo.DEVICE_MOVEMENT_ROTATION to FaceCaptureInfo.DEVICE_MOVEMENT_ROTATION
BioCaptureInfo.DEVICE_MOVEMENT_ENDED to FaceCaptureInfo.DEVICE_MOVEMENT_ENDED
Migration Guide for NFCReader 1.2.1
What is Needed?
The Android project that has been integrated with the NFCReader version 1.2.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous NFCReader version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Due to the fact that NFCConfiguration
need configuration for SDKExperience there is added new configuration SDKExperience
.
If SDKExperience
is not provided to NFCConfiguration
using function getTutorialProvider
will cause throwing MissingSdkExperienceConfigurationException
.
Please if you want use TutorialProvider functionality initialise NFCConfiguration
with SDKExperience
configuration.
When integrator want get localisation of NFC chip on document/phone and after that animation provided by IDEMIA, integrator need to set SDKExperience
configuration.
Kotlin1val configuration = NFCConfiguration(2 serverUrl = "$TENANT/nfc"3 serverApiKey = BuildConfig.nfcApiKey,4 sdkExperience = SDKExperience(5 serviceUrl = "$TENANT/sdk-experience/",6 apiKey = BuildConfig.nfcApiKey,7 assetsUrl = "$ASSETS_URL"8 )9 )
(NOTE Integrator do not need to set urls when using default environment (EU PROD). With this configuration NFCReader need only api keys.)
Migration Guide for SDK v4.40.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.39.1.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Finger:
- Remove usage of
setTorch(torch: Torch)
,setMaxNumberOfCaptures(int crossMatchingCaptureAttempts)
,getTorch()
andgetMaxNumberOfCaptures()
forFingerCaptureOptions
.
Document:
- New method
onDocumentCaptureFailure(@NonNull DocumentCaptureError captureError, @Nullable DocumentImageQualityIndicators indicators)
must be implemented for BarcodeListener, BarcodeRawDataListener and DocumentCaptureListener (onDocumentCaptureFailure(@NonNull DocumentCaptureError captureError)
is now deprecated). It may be used to get information about document image integrity/sharpness/reflections/lightning. Those information are still available in DocumentImage, but for the image returned with CodedMode different than NOMINAL integrity and sharpness will always be 100 and QualityReflection will be NONE. Furthermore, indicators retrieved fromonDocumentCaptureFailure
are enums instead of percentage values. See DocumentImageQualityIndicators in integration guide. - Capture will be started in UHD resolution if Android API will detect that device camera supports UHD. To start capture in FHD, you should set uhdResolutionEnabled to false in DocumentCaptureOptions.
Migration Guide for NFCReader 1.2.0
What is Needed?
The Android project that has been integrated with the NFCReader version 1.1.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous NFCReader version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Due to fact that getAnimation
now returns sealed class AnimationResult, you should add code responsible for handling situation when you'll get AnimationFetchFailure. AnimationFetchFailure contains message describing cause of failure and TutorialFailure. For example:
Kotlin1val animationResult = with(nfcLocation) {2 tutorialProvider.getAnimation(phoneNFCLocation.first(), documentNFCLocation, documentType, documentFeature)3 }45 withContext(Dispatchers.Main) {6 when (animationResult) {7 is AnimationFetchFailure -> navigateToFailureScreen(animationResult.message, animationResult.type)8 is AnimationFetchSuccess -> view?.setAnimation(animationResult.animation, scanIndex)9 }10 }
Also getNFCLocation
method now returns NFCLocationResult. LocationFetchFailure returns similar information to TutorialFailure
and may be handled in the same way.
Migration Guide for SDK v4.39.1
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.38.0.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Replace
LicenseManager
from com.morpho.mph_bio_sdk.android.sdk.licence toLicenseManager
from com.idemia.common.capturesdk.core.license. - Replace
BioSdk.createLicenseManager(getApplicationContext())
toLicenseManager.provideLicenseManager(LkmsProfileId, LkmsApiKey, lkmsUrl)
- Replace
createLicense
fromILicenseManager
toactivate
from newLicenseManager
- Additional functions from
ILicenseManager
need to be removed. Only the functionactivate
from newLicenseManager
is needed. This one function fetch, validate and remove license (If needed)
Migration guide for SDK v4.39.0
The version has been omitted.
Migration Guide for SDK v4.38.0
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v4.37.1
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v.4.37.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.36.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.36.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- BioCaptureInfo from BioCaptureFeedbackListener is now deprecated and will be removed in version 4.40.0. Use FaceCaptureInfo from FaceCaptureFeedbackListener instead.
- In new Remote Face Liveness API: RemoteCaptureResultListener can now return two new errors associated with video recording: with code
11100
for error associated with start of video recording,11101
in case of video generation failure.
Migration Guide for SDK v.4.36.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.35.+.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.35.+ require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- In new Remote Face Liveness API: Success class of RemoteCaptureResultListener onFinish callback now has FaceImage, which contains width, height and face image (ByteArray of jpeg image). Integrator now can use this image to display result of capture immediately.
Migration Guide for SDK v4.35.1
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.34.+.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.34.+ require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- In legacy Remote Liveness API: RemoteFaceCaptureResultListener has now two parameters in callback onCaptureSuccess: metadata and face image (ByteArray of jpeg image). Integrator now can use this image to display result of capture immediately.
- In BioCaptureFeedbackListener callback with capture info: onCaptureInfo doesn't have extraInfo parameter anymore.
Migration Guide for SDK v4.35.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.34.+.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.34.+ require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- In new document part API: com.idemia.capture.document.api.CaptureView has been changed to com.idemia.capture.document.api.DocumentCaptureView. Furthermore, a destroy method has been added to this view. It should be called in onDestroy() method of activity if lifecycle was not provided in DocumentCaptureView setUp method.
- Video recording API changes: com.idemia.smartsdk.video.VideoError has been changed to com.idemia.common.capturesdk.core.video.VideoError; com.idemia.smartsdk.video.VideoGenerationInProgressException has been changed to com.idemia.common.capturesdk.core.video.VideoRecordingAlreadyStartedException and also com.idemia.smartsdk.video.VideoProgressListener is now com.idemia.common.capturesdk.core.video.VideoProgressListener.
- For face capture mode cr2d change
FaceLiveness.HIGH
toFaceLiveness.ACTIVE
- If you used face capture, slam please use different mode
- Removed from
FingerTracking
usage ofBiometricModality
andBiometricLocation
. It is no longer supported. - Use package for
ColorSpace
fromcom.morpho.mph_bio_sdk.android.sdk.common.image.ColorSpace
tocom.idemia.common.capturesdk.core.utils.model.ColorSpace
Migration Guide for SDK v4.34.2
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v4.34.1
This SDK release is compatible with previous releases and does not require any migration steps.
Migration Guide for SDK v4.34.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.33.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.33.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Fixed enum
CaptureFeedback
name call. Change fromCaptureFeedback.name()
toCaptureFeedback.name
in kotlin.
Migration Guide for SDK v4.33.1
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.33.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.33.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
Migration Guide for SDK v4.33.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.32.1.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.32.1 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- setting torch in
FingerCaptureOptions
should be always on.
Migration Guide for SDK v4.32.1
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.32.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.32.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Document rectification is now disabled by default
Migration Guide for SDK v4.32.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.31.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.31.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Method
getNumberOfFingers
has been removed fromIFingerCaptureOptions
. FaceCaptureOptions
has no default constructor now.FaceLiveness
need to be provided in order to create options instance.- Security level for face:
FaceLivenessSecurityLevel.VERY_HIGH
is now deprecated. Use other security level. - Callback
onCaptureSuccess(Metadata)
inRemoteFaceCaptureResultListener
is now obsoleted and is not call by CaptureSDK. UseonCaptureSuccess(EncryptedMetadata)
instead.
Migration Guide for SDK v4.31.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.30.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.30.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Methods below has been removed from
IFaceCaptureHandler
. Use corresponding methods inFaceCaptureOptions
instead:setMaxCapturesBeforeDelay(int maxCapturesBeforeDelay)
getMaxCapturesBeforeDelay()
setTimeCaptureDelayArray(List<Long> timeCaptureDelayArray)
FingerCaptureOptions
has no default constructor now. Capture mode and hand need to be provided in order to create options instance.DocumentCaptureOptions
has no default constructor now.DocumentCaptureModeConfiguration
needs to be provided in order to create options instance.FingerCaptureResult's
livenessScore
is now deprecated and contains fixed value. Should not be used anymore.
Migration Guide for SDK v4.30.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.29.1.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.29.1 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Removed
challengeInterDelay
fromIFaceCaptureOptions
- Removed deprecated enums from
Cr2dMode
- Removed deprecated enums from
AcquisitionMode
- Removed function
createBioCaptureHandler
- Removed plugins for document; hey are now available directly in sdk
- Removed
BarcodeCaptureModes
- Added new document capture API based on use cases - See new API in integration guide
- Added
RemoteUseCase
for document capture - All document capture modes can be found in
DocumentCaptureMode
now - function
provideCaptureMode
in interfaceDocumentCaptureModeConfiguration
now need to returnDocumentCapture
Migration Guide for SDK v4.29.1
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.29.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.29.0 require changes in the current project in order to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
RemoteFaceCaptureOptions
need to be provided with certificates and random form serverRemoteFaceCaptureHandler
now returns encryptedDeviceId, masterSecretKey and encryptedMetadata- From
FaceLivenessSecurityLevel
removed values fromVERY_HIGH2
toVERY_HIGH8
- Add
FingerTracking
- Add
FaceTracking
- Add deprecated to
onCaptureSuccess(metadata: Metadata)
- Fix for amputee feature. Location of fingers is now proper.
- Thumb mode for finger returns in
BioLocation.Thumb
Migration guide for SDK v4.29.0
What is needed?
The Android project that has been integrated with the Capture SDK version 4.28.1.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.29.0 require changes in the current project to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- Removed DocumentCaptureModes:
READ_MRZ_DOCUMENT_IMAGE_STILL_MEDIUM
QR_CODE_PDF_417_STILL
CAPTURE_DOCUMENT_IMAGE_VERY_LOW_A4
CAPTURE_DOCUMENT_IMAGE_MRZ_MEDIUM_VERYLOW_A4
- Add to
FingerCaptureOptions
methodssetMaxNumberOfCaptures(int)
andsetCrossMatchingVerificationThreshold(long)
. There are used for verification feature. - Add to constructor
FingerCaptureOptions(BioCaptureMode)
parameter Hand. If you use deprecated constructor default Hand is Right. - Change mode names:
FOUR_FINGER
toFINGERS
ONE_FINGER
toTHUMB
Migration guide for SDK v4.28.1
What is needed?
The Android project that has been integrated with the Capture SDK version 4.27.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.28.1 require changes in the current project to complete a successful migration.
Preparation
Review the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt migration. This provides a greater chance to identify and fix any errors resulting from the migration.
- New CaptureHandler
RemoteFaceCaptureHandler
- New CaptureOptions
RemoteFaceCaptureOptions
- Add VideoRectording feature to create video after capture
- Deprecated constructors
FaceCaptureOptions()
DocumentCaptureOptions()
FingerCaptureOptions()
- Add to
FingerCaptureOptions
methodssetUHDResolutionEnabled(bool)
andgetUHDResolutionEnabled
(Not ready for use) - Removed deprecated fingerprint capture modes from
BioCaptureMode
FINGERPRINT_RIGHT_HAND
FINGERPRINT_LEFT_HAND
FINGERPRINT_RIGHT_HAND_AUTHENTICATION
FINGERPRINT_LEFT_HAND_AUTHENTICATION
Migration guide for SDK v4.28.0
The version has been omitted.
Migration guide for SDK v4.27.0
What is needed?
The Android project that has been integrated with the Capture SDK version 4.26.0.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.27.0 require changes in the current project to complete a successful migration.
Preparation
Review to the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt the migration process. This will provide a greater chance to identify and fix any errors resulting from the migration process.
- New algorithm plugin F6-0-IDD80 has been added and might replace previous ones. Keep in mind that biometric templates created via these algorithms are not compatible.
- CaptureOptions might be created from configuration file. FingerCaptureOptions, FaceCaptureOptions and DocumentCaptureOptions have static method createFromConfigurationFile that returns options loaded from file. This file is created on demand by CaptureSDK team.
- Method createBioCaptureHandler in BioSdk class is now deprecated. Dedicated method for each handler should be used, which are: createFaceCaptureHandler, createFingerCaptureHandler and createDocumentCaptureHandler.
Migration guide for SDK v4.26.0
What is needed?
The Android project that has been integrated with the Capture SDK version 4.25.1.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.26.0 require changes in the current project to complete a successful migration.
Preparation
Review to the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt the migration process. This will provide a greater chance to identify and fix any errors resulting from the migration process.
-
Illumination mode has become obsolete.
-
Set default liveness level to FingerLiveness.LOW.
-
Callback
onTracking
for finger now returns correctly list of finger. -
Depracated values for DocumentCaptureMode :
- READ_MRZ_DOCUMENT_IMAGE_STILL_MEDIUM
- CAPTURE_DOCUMENT_IMAGE_MRZ_MEDIUM_VERYLOW_A4
- QR_CODE_PDF_417_STILL,
- CAPTURE_DOCUMENT_IMAGE_VERY_LOW_A4
-
OCR capture option has become obsolete.
Migration guide for SDK v4.25.1
What is needed?
The Android project that has been integrated with the Capture SDK version 4.24.0.
Use the Recommended -> SampleApp project that is integrated with Capture SDK version 4.25.1 for reference.
Assumptions
The Migrator is aware that the implementation of a new SDK version requires changes in the existing code, which may impact the current application’s functionality.
Changes released in Capture SDK version 4.25.1 require changes in the current project to complete a successful migration.
Preparation
Review to the Release Notes for any changes and updates and compare them to the previous SDK version.
Ensure that your project builds and runs correctly before you attempt the migration process. This will provide a greater chance to identify and fix any errors resulting from the migration process.
Code changes in brief
FaceCaptureOptions:
BioCaptureMode
was removed from FaceCaptureOptions
.
Now you can set capture mode by FaceLiveness
FingerCaptureOptions
For BioCaptureMode
new options have been added. Old modes are now depracated.
In mode FOUR_FINGERS
, you can decide the number of fingers you want to scan thanks to function named
setNumberOfFingers
.
Capture Delay
The algorithms for mechanism of delay have changed. For more information please go to Handlers
Starting Preview and Capture
Now starting preview and capture is asynchronous. For this purpose we created callback for java developers. startPreview
method takes PreviewStatusListener
callback as an argument. When you get onStarted
callback you should call a function startCapture
.
Kotlin developers can use coroutines to initialize the preview. Capture handlers supporting suspend functions are added to package com.idemia.smartsdk.capture
Kotlin1defaultScope.launch {2 handler.startPreview()3 handler.startCapture()4}
Migration guide for SDK v4.25.0
The version has been omitted.
Migration guide for SDK v4.24.0
This SDK release is compatible with previous releases and does not require any migration steps.
Migration guide for SDK v4.23.1
What is needed?
Android project that has been integrated with 4.23.0 version of Capture SDK.
Use the Recommended -> SampleApp project that is integrated with version 4.23.1 of Capture SDK as practical example and reference to new changes.
Assumptions
The Migrator is aware that implementation of a new SDK version requires changes in existing code which may impact the current application’s functionality.
Changes released in version 4.23.1 of Capture SDK require changes in the current project to complete a successful migration.
Preparation
Review the Release Notes for any changes that were made and compare them to the previous version of the SDK.
Ensure that your project builds and runs correctly before you attempt the migration process. This will provide a greater chance to identify and fix any errors resulting from the migration process.
Code changes in brief
FaceCaptureHandler:
addBioCaptureFaceMetadataListener
was removed from FaceCaptureHandler
.
Now you can get metadata from capture from FaceImage
.
FaceImage
is a successful result of face capture.
Migration guide for SDK v4.23.0
This SDK release is compatible with previous releases and does not require any migration steps.
Migration guide for SDK v4.22.0
What is needed?
Android project that has been integrated with 4.21 version of Capture SDK.
Use the Recommended -> SampleApp project that is integrated with version 4.22 of Capture SDK as practical example and reference to new changes.
Assumptions
The Migrator is aware that implementation of a new SDK version requires changes in existing code which may impact the current application’s functionality.
Changes released in version 4.22 of Capture SDK require changes in the current project to complete a successful migration.
Preparation
Take a look at the Release Notes to get familiar with changes that were made and compare them the to previous SDK version.
Make sure that your project builds and runs correctly before you attempt the migration process. This will make sure that possible errors connected with the migration process have a greater chance of being identified and fixed.
Code changes in brief
General changes
Since 4.22 Capture SDK uses a plugin mechanism that allows integrators to pick what features they want.
Variants are still valid and are unchanged, but extra dependencies need to be added to have a fully functional SDK.
For example:
-
biometry variant
- requires theface_normal/face_lite/face_cr2dmatching
(one of them) plugin + algorithm plugin. For the backward compatibility algorithm,f5_0_vid81
is the right option. -
document variant
has predefined dependencies - when the SDK's dependency is set properly, all plugins should be attached automatically. -
biometry_document variant
requires only biometry's dependencies -
finger variant
- Similar todocument variant
, this has dependencies predefined with an algorithm included (only fingers algorithm).
More detailed configuration information can be found in the SDK's documentation.
Example plugin dependencies:
implementation "com.idemia.smartsdk:plugin-face-normal:4.22.0"
implementation "com.idemia.smartsdk:plugin-algorithm-f5-0-vid81:4.22.0"
Document capture changes
For DocumentCaptureOptions
in the method setDocumentCaptureMode
, one of modes from BarcodeCaptureModes
or DocumentCaptureModes
needs to be passed instead of DocumentCaptureMode
.
Biometry capture changes
Face capture should be configured using the FaceLiveness
enum in the FaceCaptureOptions
constructor along with FaceLivenessSecurityLevel
, instead of BioCaptureMode
.
Migration guide for SDK v4.21.0
New SDK variants
-
Face only - variant that includes only face capture functionality
-
Face + document - variant that includes face and document capture functionality
Note: face liveness can be only verified using WebBioServer.
What is needed?
Android project that has been integrated with 4.20 version of Capture SDK.
Use the Recommended -> SampleApp project that is integrated with version 4.21 of Capture SDK. Use this project as a practical example and reference to new changes.
Assumptions
The Migrator is aware that implementation of a new SDK version requires changes in existing code which may impact the current application’s functionality.
Changes released in version 4.21 of Capture SDK require changes in the current project to complete a successful migration.
Preparation
Take a look at the Release Notes to get familiar with changes that were made and in compare them to the previous SDK version.
Make sure that your project builds and runs correctly before you attempt the migration process. This will make sure that possible errors connected with the migration process have an increased chance of being identified and fixed.
Code changes in brief
BioCaptureResultHandler
is replaced by result listeners dedicated for face and finger biometrics - FaceCaptureResultListener
and FingerCaptureResultListener
.
FingerCaptureHandler:
FingerCaptureResultListener
introduces new capture result parameters. As a capture result, there is a list of finger images returned, instead of two callbacks: first with hand image, second with fingerprint images. There is just one with all the images. Additionally there is the FingerCaptureResult
instance returned that holds information about finger capture liveness - FingerLivenessResult
and a liveness score.
FaceCaptureHandler:
FaceCaptureResultHandler
uses new representation of face images - FaceImage
. It is a type that extends MorphoImage
and holds information about face capture liveness. As a result of face capture there is single image returned instead of a list.