Migration Guides
Migration Guide for SDK v4.48.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.47.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.
General:
- Update minimal Android SDK version from 21 to 24.
- Update kotlin in your project minimal to 2.1.0.
Finger:
- Stop using function
onCaptureSuccess(images: MutableList<MorphoImage>, captureResult: FingerCaptureResult)inFingerCaptureResultListenerand use nowonCaptureSuccess(matchingImages: List<MorphoImage>, imagesToDisplay: List<FingerImagePreview>, captureResult: FingerCaptureResult)in the same listener.
Migration Guide for SDK v4.47.1
This SDK release is compatible with previous release and does not require any migration steps. If you are migrating from version 4.46.0 or lower, please follow migration steps for 4.47.0.
Migration Guide for SDK v4.47.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.46.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:
Update kotlin in your project minimal to 1.8.21.
Remove setTorch(troche: Torch) from any handler you are using.
Finger:
- Remove
getFullCaptureTimein usedFingerCaptureHandlerandsetCrossMatchingVerificationThresholdin usedFingerCaptureOptions.
Migration Guide for SDK v4.46.0
What is Needed?
The Android project that has been integrated with the Capture SDK version 4.45.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.
Finger:
If you always scan 4 finger. This option is not working with amputee
Kotlin1val fingerCaptureOptions = FingerCaptureOptions(BioCaptureMode.FINGERS, Hand.RIGHT)2captureOptions.liveness = FingerLiveness.LOW3captureOptions.bioCaptureMode = BioCaptureMode.FINGERS4 ...5captureOptions.setEnsureFourFingersScanning(true)
Face:
- Because SDK version 4.46.0 use UiExtensions 2.2.0, making changes mentioned in Migration Guide for UiExtensions v.2.2.0 may be required. IMPORTANT If you're adding UiExtensions separately, then you should update it's version to at least 2.2.0!
- If you don't use UiExtensions on your own, then you should handle new CaptureFeedbacks mentioned in release notes
- Replace RemoteCaptureResultListener with CaptureResultListener if RemoteCaptureUseCase is used.
- Behaviour change: using method cancel() on FaceCaptureView now cause error of the flow with ErrorType: CANCELED. When Lifecycle is passed in setUp method, putting app to the background will have the same effect. It helps to identify end of capture from integrator perspective in cancel cases.
Document:
If you perform document capture with mode DocumentMode.QR_CODE_PDF_417 or DocumentMode.CAPTURE_DOCUMENT_IMAGE_BARCODE_VERY_LOW_ID1, then
you must add following line in you gradle file:
Groovy1implementation 'com.idemia.smartsdk:plugin-improved-pdf417-detection:$sdkVersion'
Migration Guide for UiExtensions v.2.2.0
What is Needed?
The Android project that has been integrated with the UiExtensions 2.1.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're not passing UiSettings to FaceCaptureView and use UiExtensions on your own, you should remove passing feedbacks to
FaceCaptureSceneController after converting them to legacy types.
So code like this:
Kotlin1fun updateFeedback(feedback: CaptureFeedback) {2 uiScope.launch {3 controller?.faceCaptureFeedbackListener?.onCaptureInfo(toCaptureInfo(feedback))4 }5 }
Should be replaced with:
Kotlin1fun updateFeedback(feedback: CaptureFeedback) {2 uiScope.launch {3 controller?.onFeedback(ShowFeedback(feedback))4 }5 }
If you are passing UiSettings to setUp method of FaceCaptureView, you should get rid of mappings for old API in DSL. Replace:
Kotlin1val settings = passiveCaptureSettings {2 scene {3 (...)4 faceFeedbackStringMapping = { faceCaptureInfo ->5 mapToString(faceCaptureInfo) // This should return correct String for FaceCaptureInfo feedback6 }7 }8 }9 }
with:
Kotlin1val settings = passiveCaptureSettings {2 scene {3 (...)4 faceCaptureFeedbackStringMapping = { captureFeedback ->5 mapToString(captureFeedback) // This should return correct String for CaptureFeedback6 }7 }8 }9 }
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,lightingandbadFramingfromDocumentImageQualityIndicatorsinonDocumentCaptureFailurecallback 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
scaleXandscaleYfrompreviewScaleshould 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.MorphoSurfaceViewwithcom.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 callonDestroyonCapturePreviewwhen Activity/Fragment is destroyed. Furthermore,CapturePreviewdoes not have such method, so after addingCapturePreviewto 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()fromDocumentImageandonDocumentCaptureFailure(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.MOVEMENTandCaptureFeedback.MOVEMENT. -
Add handling
DocCaptureInfo.LOW_LIGHTfeedback.
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
titleResIdanddescriptionResIdinpreparationScenedsl.
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
overlayproperty insceneas 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:
Failurenow 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 amessagefield 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 fromonDocumentCaptureFailureare 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
LicenseManagerfrom com.morpho.mph_bio_sdk.android.sdk.licence toLicenseManagerfrom com.idemia.common.capturesdk.core.license. - Replace
BioSdk.createLicenseManager(getApplicationContext())toLicenseManager.provideLicenseManager(LkmsProfileId, LkmsApiKey, lkmsUrl) - Replace
createLicensefromILicenseManagertoactivatefrom newLicenseManager - Additional functions from
ILicenseManagerneed to be removed. Only the functionactivatefrom newLicenseManageris 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
11100for error associated with start of video recording,11101in 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.HIGHtoFaceLiveness.ACTIVE - If you used face capture, slam please use different mode
- Removed from
FingerTrackingusage ofBiometricModalityandBiometricLocation. It is no longer supported. - Use package for
ColorSpacefromcom.morpho.mph_bio_sdk.android.sdk.common.image.ColorSpacetocom.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
CaptureFeedbackname call. Change fromCaptureFeedback.name()toCaptureFeedback.namein 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
FingerCaptureOptionsshould 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
getNumberOfFingershas been removed fromIFingerCaptureOptions. FaceCaptureOptionshas no default constructor now.FaceLivenessneed to be provided in order to create options instance.- Security level for face:
FaceLivenessSecurityLevel.VERY_HIGHis now deprecated. Use other security level. - Callback
onCaptureSuccess(Metadata)inRemoteFaceCaptureResultListeneris 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 inFaceCaptureOptionsinstead:setMaxCapturesBeforeDelay(int maxCapturesBeforeDelay)getMaxCapturesBeforeDelay()setTimeCaptureDelayArray(List<Long> timeCaptureDelayArray)
FingerCaptureOptionshas no default constructor now. Capture mode and hand need to be provided in order to create options instance.DocumentCaptureOptionshas no default constructor now.DocumentCaptureModeConfigurationneeds to be provided in order to create options instance.FingerCaptureResult'slivenessScoreis 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
challengeInterDelayfromIFaceCaptureOptions - 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
RemoteUseCasefor document capture - All document capture modes can be found in
DocumentCaptureModenow - function
provideCaptureModein interfaceDocumentCaptureModeConfigurationnow 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.
RemoteFaceCaptureOptionsneed to be provided with certificates and random form serverRemoteFaceCaptureHandlernow returns encryptedDeviceId, masterSecretKey and encryptedMetadata- From
FaceLivenessSecurityLevelremoved values fromVERY_HIGH2toVERY_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_MEDIUMQR_CODE_PDF_417_STILLCAPTURE_DOCUMENT_IMAGE_VERY_LOW_A4CAPTURE_DOCUMENT_IMAGE_MRZ_MEDIUM_VERYLOW_A4
- Add to
FingerCaptureOptionsmethodssetMaxNumberOfCaptures(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_FINGERtoFINGERSONE_FINGERtoTHUMB
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
FingerCaptureOptionsmethodssetUHDResolutionEnabled(bool)andgetUHDResolutionEnabled(Not ready for use) - Removed deprecated fingerprint capture modes from
BioCaptureModeFINGERPRINT_RIGHT_HANDFINGERPRINT_LEFT_HANDFINGERPRINT_RIGHT_HAND_AUTHENTICATIONFINGERPRINT_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
onTrackingfor 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_vid81is the right option. -
document varianthas predefined dependencies - when the SDK's dependency is set properly, all plugins should be attached automatically. -
biometry_document variantrequires 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.