# Android SDK 1.0 to 2.0 Migration



## Scope and provenance

- Product: mobile
- Status: Imported reference snapshot. Import date is not a verification date or guarantee of current release support.
- SDK version: Not declared for this page. Versions in examples must not be assumed current.
- Environment: Page-specific. Confirm the environment host, credentials, and service configuration; do not infer them from another product.
- Source: https://documentation.idmission.com/identity/SDKMigration/Android.html
- Imported at: 2026-10-21T17:27:01.149Z
- Canonical page: https://docs.idmission.com/mobile/sdkmigration-android-html
- Agent index: https://docs.idmission.com/llms.txt

---

<a id="Migration-to-SDK-v2.0"></a>

# Migration to SDK v2.0

<a id="Introduction"></a>

# Introduction

This guideline provides a set of steps to migrate from **[Android SDK v1.0](https://docs.idmission.com/markdown/mobile/android-sdk-1.md)** to **[Android SDK v2.0](https://docs.idmission.com/markdown/mobile/android-sdk-2.md)** IDmission has made some major changes in **SDK v2.0** and if you are actively using SDK v1.0 (older version) and planning to move to SDK v2.0, the following outlines the changes to be made during migration:

1. [Remove old library projects](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#1-Remove-old-library-projects)

2. [Update Dependencies](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#2-Update-Dependencies)

3. [Initialization Method Changes](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#3-Initialization-Method-Changes)

4. [Update SDK API With Reference To Service ID](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#4-implementing-service-id)

5. - 4.1 [Live face check (SID-660)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#1-live-face-check)
   - 4.2 [ID Validation (SID-20)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#2-id-validation)
   - 4.3 [ID Validation and face match (SID-10)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#3-id-validation-and-face-match)
   - 4.4 [Enroll Customer with ID validation (SID-50)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#4-enroll-customer-with-id-validation)
   - 4.5 [Enroll Biometric (SID-175)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#5-enroll-biometric)
   - 4.6 [Customer Verification (SID-105)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#6-customer-verification)
   - 4.7 [Customer Biometric Verification (SID-185)](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#7-customer-biometric-verification)
   - 4.8 [Autofill](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#8-autofill)

   [Update Additional features](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#5-update-additional-feature)

   - 5.1 [Document Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#1-document-capture)
   - 5.2 [Signature Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#2-signature-capture)
   - 5.3 [FingerPrint Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#3-fingerprint-capture)
   - 5.4 [Voice Capture](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#4-voice-capture)

6. [Reference Links](https://docs.idmission.com/markdown/mobile/sdkmigration-android-html.md#7-reference-links)

<a id="1-Remove-old-library-projects"></a>

# 1. Remove old library projects

Remove all old library projects. like idm-imgproc-lib, OpenCV_4.1.1, SignCaptureLib, card.io, webrtcpeer-android

<a id="2-Update-Dependencies"></a>

# 2. Update Dependencies

Update Dependencies of SDK 2.0 and remove references of old library projects from build.gradle file. For latest SDK library please check SDK 2.0 document [IDentitySDK 2.0](https://docs.idmission.com/markdown/mobile/android-sdk-2.md)

<a id="3-Initialization-Method-Changes"></a>

# 3. Initialization Method Changes

In `SDK v1.0` we have the following initialization & callback response methods. While migrating to `SDK v2.0`, these would be replaced with those shown below

SDK v1.0 Initialization Method :

```

         ImageProcessingSDK imageProcessingSDK = ImageProcessingSDK.initialize(
             Activity activityContext,
             String url,
             String loginID,
             String password,
             String merchantID,
             Integer productID,
             String productName,
             String language,
             boolean enableGPS);

         SDK v1.0 Initialization Response Method
         @Override
         public void onInitializationResultAvailable(Map resultMap, Response response){

         }
      
```

Update to below `SDK v2.0` initialization method

```

         CoroutineScope(Dispatchers.Main).launch {
           var response: Response
           withContext(Dispatchers.IO) {
               var initializeApiBaseUrl = "https://kyc.idmission.com/"
               var apiBaseUrl = "https://api.idmission.com/"
               var response = IdentityProofingSDK.initialize(
                   applicationContext, initializeApiBaseUrl, apiBaseUrl, loginID, password,
                   merchantID,
                   sdkCustomizationOptions = SDKCustomizationOptions(
                       language = "en"
                   ),
                   enableDebug = false,
                   enableGPS = false
               )

               //SDK 2.0 Initialization call back data received under the response var
           }
       }
      
```

<a id="4-implementing-service-id"></a>

# 4. Update SDK API With Reference To Service ID

<a id="1-live-face-check"></a>

## 4.1 Live face check (SID-660)

Replace below `SDK v1.0` Live face check API & its callback response method

```

       SDK v1.0 Detect face API
       ImageProcessingSDK.detectFace(Activity activityContext, JSONObject commonConfigJson, JSONObject additionalJson);

       SDK v1.0 Detect face Response Method
       @Override
       public void onFaceDetectionResultAvailable(Map resultMap, Response response) {

       }
      
```

With below `SDK v2.0` Live face check method

```

      IdentityProofingSDK.liveFaceCheck(Activity activity, SDKCustomizationOptions sdkCustomizationOptions)

      CallBack methods details
      //for callback data override onActivityResult method of Activity

      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
         if (resultCode == RESULT_OK) {
             if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                     .isNullOrEmpty()
             ) {
                 processedCaptures =
                     data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                         .EXTRA_PROCESSED_CAPTURES)
                         ?.toList() as List?
             }
         }
     }
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/live-face-check.md)

<a id="2-id-validation"></a>

## 4.2 ID Validation (SID-20)

Replace below `SDK v1.0` call of sequence for IDValidation

```

      SDK v1.0 IDCapture Front and ID Back API
      ImageProcessingSDK.autoCapture(Activity activityContext, ImageType imagesTypes,
                                  JSONObject idCaptureConfig, JSONObject additionalJSON, HashMap snippetNameMap)

      SDK v1.0 IDCapture Response Method
      @Override
      public void onAutoImageCaptureResultAvailable(Map resultMap, Response response) {

      }

      SDK v1.0 Generic API
      ImageProcessingSDK.getInstance().genericApiCall(getActivity(), serviceCallJson);

      SDK v1.0 Generic API Response Method
      @Override
      public void genericApiCallResponse(Map resultMap, Response responses) {

      }
      
```

With the below `SDK v2.0` ID Validation API

```

      IdentityProofingSDK.idValidation(
                    Activity activity,
                    AdditionalCustomerFlagData additionalDataFlag,
                    SDKCustomizationOptions sdkCustomizationOptions)

      SDK v2.0 ID Validation API call back receive into the onActivityResult method of Activity

      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
               if (resultCode == RESULT_OK) {
                   if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                           .isNullOrEmpty()
                   ) {
                       processedCaptures =
                           data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                               .EXTRA_PROCESSED_CAPTURES)
                               ?.toList() as List?
                   }
               }
           }

      Replace SDK v1.0 genericApiCall call method with finalSubmit
          CoroutineScope(Dispatchers.Main).launch {
            var response: Response
            response = IdentityProofingSDK.finalSubmit(
                  Context applicationContext
              )
            }
          }

      //SDK 2.0 SDK finalSubmit call back data received under the response var
      
```

```
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/id-validation.md)

<a id="3-id-validation-and-face-match"></a>

## 4.3 ID Validation and face match (SID-10)

Replace below `SDK v1.0` call of sequence for ID Validation and face match

```

         SDK v1.0 Detect face API
         ImageProcessingSDK.detectFace(
             Activity activityContext,
             JSONObject commonConfigJson,
             JSONObject additionalJson);

         SDK v1.0 Detect face Response Method
         @Override
         public void onFaceDetectionResultAvailable(Map resultMap, Response response) {

         }

         SDK v1.0 IDCapture Front and ID Back API
         ImageProcessingSDK.autoCapture(
             Activity activityContext,
             ImageType imagesTypes,
             JSONObject idCaptureConfig,
             JSONObject additionalJSON,
             HashMap snippetNameMap)

         SDK v1.0 IDCapture Response Method
         @Override
         public void onAutoImageCaptureResultAvailable(Map resultMap, Response response) {

         }

         SDK v1.0 Generic API
         ImageProcessingSDK.getInstance().genericApiCall(getActivity(), serviceCallJson);

         SDK v1.0 Generic API Response Method
         @Override
         public void genericApiCallResponse(Map resultMap, Response responses) {

         }
      
```

With the below `SDK v2.0` ID Validation and Face Match API

```

      IdentityProofingSDK.idValidationAndMatchFace(
                        Activity activity,
                        AdditionalCustomerFlagData additionalDataFlag,
                        SDKCustomizationOptions sdkCustomizationOptions)

      SDK v2.0 ID Validation and Face match API call back receive into the onActivityResult method of Activity

      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
               if (resultCode == RESULT_OK) {
                   if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                           .isNullOrEmpty()
                   ) {
                       processedCaptures =
                           data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                               .EXTRA_PROCESSED_CAPTURES)
                               ?.toList() as List?
                   }
               }
           }

      Replace SDK v1.0 genericApiCall call method with finalSubmit
          CoroutineScope(Dispatchers.Main).launch {
            var response: Response
            response = IdentityProofingSDK.finalSubmit(
                  Context applicationContext
              )
            }
          }

      //SDK 2.0 SDK finalSubmit call back data received under the response var
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/id-validation-and-match-face.md)

<a id="4-enroll-customer-with-id-validation"></a>

## 4.4 Enroll Customer with ID validation (SID-50)

Replace below `SDK v1.0` call of sequence for Enroll Customer with ID validation

```

      SDK v1.0 Detect face API
      ImageProcessingSDK.detectFace(
          Activity activityContext,
          JSONObject commonConfigJson,
          JSONObject additionalJson);

      SDK v1.0 Detect face Response Method
      @Override
      public void onFaceDetectionResultAvailable(Map resultMap, Response response) {

      }

      SDK v1.0 IDCapture Front and ID Back API
      ImageProcessingSDK.autoCapture(
          Activity activityContext,
          ImageType imagesTypes,
          JSONObject idCaptureConfig,
          JSONObject additionalJSON,
          HashMap snippetNameMap)

      SDK v1.0 IDCapture Response Method
      @Override
      public void onAutoImageCaptureResultAvailable(Map resultMap, Response response) {

      }

      SDK v1.0 Generic API
      ImageProcessingSDK.getInstance().genericApiCall(getActivity(), serviceCallJson);

      SDK v1.0 Generic API Response Method
      @Override
      public void genericApiCallResponse(Map resultMap, Response responses) {

      }
      
```

With the below `SDK v2.0` Enroll Customer with ID validation API

```

      IdentityProofingSDK.idValidationAndcustomerEnroll(
          Activity activity,
          String uniqueNumber,
          AdditionalCustomerFlagData additionalDataFlag,
          SDKCustomizationOptions sdkCustomizationOptions
      )

      SDK v2.0 Enroll Customer with ID validation API call back receive into the onActivityResult method of Activity

      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
               if (resultCode == RESULT_OK) {
                   if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                           .isNullOrEmpty()
                   ) {
                       processedCaptures =
                           data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                               .EXTRA_PROCESSED_CAPTURES)
                               ?.toList() as List?
                   }
               }
           }

      Replace SDK v1.0 genericApiCall call method with finalSubmit
          CoroutineScope(Dispatchers.Main).launch {
            var response: Response
            response = IdentityProofingSDK.finalSubmit(
                  Context applicationContext
              )
            }
          }

      //SDK 2.0 SDK finalSubmit call back data received under the response var
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/id-validation-andcustomer-enroll.md)

<a id="5-enroll-biometric"></a>

## 4.5 Enroll Biometric (SID-175)

Replace below `SDK v1.0` call of sequence for Enroll Biometric

```

         SDK v1.0 Detect face API
         ImageProcessingSDK.detectFace(
             Activity activityContext,
             JSONObject commonConfigJson,
             JSONObject additionalJson);

         SDK v1.0 Detect face Response Method
         @Override
         public void onFaceDetectionResultAvailable(Map resultMap, Response response) {

         }

         SDK v1.0 IDCapture Front and ID Back API
         ImageProcessingSDK.autoCapture(
             Activity activityContext,
             ImageType imagesTypes,
             JSONObject idCaptureConfig,
             JSONObject additionalJSON,
             HashMap snippetNameMap)

         SDK v1.0 IDCapture Response Method
         @Override
         public void onAutoImageCaptureResultAvailable(Map resultMap, Response response) {

         }

         SDK v1.0 Generic API
         ImageProcessingSDK.getInstance().genericApiCall(getActivity(), serviceCallJson);

         SDK v1.0 Generic API Response Method
         @Override
         public void genericApiCallResponse(Map resultMap, Response responses) {

         }
      
```

With the below `SDK v2.0` Enroll Biometric API

```

      IdentityProofingSDK.customerEnrollBiometrics(
          Activity activity,
          String uniqueNumber,
          AdditionalCustomerBiometricEnrollFlagData additionalBiometricFlagData,
          SDKCustomizationOptions sdkCustomizationOptions)

      SDK v2.0 Enroll Biometric API call back receive into the onActivityResult method of Activity

      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
           if (resultCode == RESULT_OK) {
               if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                       .isNullOrEmpty()
               ) {
                   processedCaptures =
                       data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                           .EXTRA_PROCESSED_CAPTURES)
                           ?.toList() as List?
               }
           }
      }

      Replace SDK v1.0 genericApiCall call method with finalSubmit
      CoroutineScope(Dispatchers.Main).launch {
            var response: Response
            response = IdentityProofingSDK.finalSubmit(
                  Context applicationContext
              )
            }
      }

      //SDK 2.0 SDK finalSubmit call back data received under the response var
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/customer-enroll-biometrics.md)

<a id="6-customer-verification"></a>

## 4.6 Customer Verification (SID-105)

Replace below `SDK v1.0` call of sequence for Customer Verification

```

      SDK v1.0 Detect face API
      ImageProcessingSDK.detectFace(
          Activity activityContext,
          JSONObject commonConfigJson,
          JSONObject additionalJson);

      SDK v1.0 Detect face Response Method
      @Override
      public void onFaceDetectionResultAvailable(Map resultMap, Response response) {

      }

      SDK v1.0 Generic API
      ImageProcessingSDK.getInstance().genericApiCall(getActivity(), serviceCallJson);

      SDK v1.0 Generic API Response Method
      @Override
      public void genericApiCallResponse(Map resultMap, Response responses) {

      }
      
```

With the below `SDK v2.0` Customer Verification API

```

      IdentityProofingSDK.customerVerification(Activity activity, String uniqueNumber)

      SDK v2.0 Customer Verification API call back receive into the onActivityResult method of Activity

      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
           if (resultCode == RESULT_OK) {
               if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                       .isNullOrEmpty()
               ) {
                   processedCaptures =
                       data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                           .EXTRA_PROCESSED_CAPTURES)
                           ?.toList() as List?
               }
           }
      }

      Replace SDK v1.0 genericApiCall call method with finalSubmit
      CoroutineScope(Dispatchers.Main).launch {
            var response: Response
            response = IdentityProofingSDK.finalSubmit(
                  Context applicationContext
              )
            }
      }

      //SDK 2.0 SDK finalSubmit call back data received under the response var
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/customer-verification.md)

<a id="7-customer-biometric-verification"></a>

## 4.7 Customer Biometric Verification (SID-185)

Replace below `SDK v1.0` call of sequence for Customer Biometric Verification

```

         SDK v1.0 Detect face API
         ImageProcessingSDK.detectFace(
             Activity activityContext,
             JSONObject commonConfigJson,
             JSONObject additionalJson);

         SDK v1.0 Detect face Response Method
         @Override
         public void onFaceDetectionResultAvailable(Map resultMap, Response response) {

         }

         SDK v1.0 Generic API
         ImageProcessingSDK.getInstance().genericApiCall(getActivity(), serviceCallJson);

         SDK v1.0 Generic API Response Method
         @Override
         public void genericApiCallResponse(Map resultMap, Response responses) {

         }
      
```

With the below `SDK v2.0` Customer Biometric Verification API

```

         IdentityProofingSDK.customerVerification(
              Activity activity,
              String uniqueNumber,
              AdditionalCustomerBiometricFlagData additionalCustomerBiometricsData,
              SDKCustomizationOptions sdkCustomizationOptions)

         SDK v2.0 Customer Biometric Verification API call back receive into the onActivityResult method of Activity

         override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
               if (resultCode == RESULT_OK) {
                   if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                           .isNullOrEmpty()
                   ) {
                       processedCaptures =
                           data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                               .EXTRA_PROCESSED_CAPTURES)
                               ?.toList() as List?
                   }
               }
           }

        Replace SDK v1.0 genericApiCall call method with finalSubmit
        CoroutineScope(Dispatchers.Main).launch {
                var response: Response
                response = IdentityProofingSDK.finalSubmit(
                      Context applicationContext
                  )
                }
        }

          //SDK 2.0 SDK finalSubmit call back data received under the response var
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/customer-verification.md)

<a id="8-autofill"></a>

## 4.8 Autofill

Replace below `SDK v1.0` Autofill API call

```

        SDK v1.0 Autofill API
        ImageProcessingSDK.getInstance().autoFill(Activity activityContext, JSONObject
                 idCaptureConfig,JSONObject additionalJSON)

        SDK v1.0 Autofill Response Method
        @Override
        public void onAutoFillResultAvailable(Map resultMap, Response response) {

        }
      
```

With the below `SDK v2.0` Autofill API

```
      
      IdentityProofingSDK.autoFill(Activity activity,
                AdditionalCustomerFlagData additionalDataFlag,
                SDKCustomizationOptions sdkCustomizationOptions)

      Result call back details:
      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
      if (resultCode == RESULT_OK) {
           if (!data?.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES)
                   .isNullOrEmpty()
           ) {
               processedCaptures =
                   data?.extras?.getParcelableArray(IdMissionCaptureLauncher
                       .EXTRA_PROCESSED_CAPTURES)
                       ?.toList() as List?
           }
        }
      }
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/auto-fill.md)

<a id="5-update-additional-feature"></a>

# 5. Update Additional features

<a id="1-document-capture"></a>

## 5.1 Document Capture

Replace below `SDK v1.0` Document Capture call

```

          SDK v1.0 Document Capture API
          ImageProcessingSDK.autoCapture(
              Activity activityContext,
              ImageType imagesTypes,
              JSONObject idCaptureConfig,
              JSONObject additionalJSON,
              HashMap snippetNameMap)

          SDK v1.0 Document Capture Response Method
          @Override
          public void onCaptureGenericDocumentResultAvailable(Map resultMap, Response response) {
          }
      
```

With the below `SDK v2.0` Document Capture API

```

         IdentityProofingSDK.documentCapture(
              activity: Activity,
              documentName: String,
              documentUpload: Boolean,
              additionalDataFlag: AdditionalCustomerFlagData,
              sdkCustomizationOptions: SDKCustomizationOption)

          //SDK 2.0 Document Capture callback method details
          override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
              if (resultCode == RESULT_OK) {
                 // result for document capture
                  if(!data.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES.isNullOrEmpty()) {
                      processedCaptures = data.extras?.getParcelableArray(IdMissionCaptureLauncher.EXTRA_PROCESSED_CAPTURES
                  }
                  // result for document upload
                  if(requestCode == CaptureConstants.OPERATION_ADDITIONAL_FEATURES_REQUEST_CODE){
                      // base64 image data return
                      var documentData = data.extras?.get(CaptureConstants.DOCUMENT_CAPTURE_DATA)
                  }
              }
          }
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/reference/android/-i-dentity--s-d-k/com.idmission.sdk2.identityproofing/-identity-proofing-s-d-k/document-capture.md)

<a id="2-signature-capture"></a>

## 5.2 Signature Capture

Replace below `SDK v1.0` Signature Capture call

```

          SDK v1.0 Signature Capture API Call 1
          ImageProcessingSDK.getInstance().captureSignature(Activity activity)

          SDK v1.0 Signature Capture API Call 2
          ImageProcessingSDK.getInstance().captureSignature(Activity activity, JSONObject jsonObject)

          SDK v1.0 Signature Capture Response Method
          @Override
          public void onCaptureSignatureFinished(Map resultMap, Response responses) {
          }
      
```

With the below `SDK v2.0` Signature Capture API

```

          Check Getting Started for Signature Capture in the SDK 2.0 document.

          SDK v2.0 Signature Capture API Call 1
          SignatureSDK.captureSignature(activity: Activity)

          SDK v2.0 Signature Capture API Call 2
          SignatureSDK.captureSignature(activity: Activity, jsonObject:JSONObject)

          SDK v2.0 Signature Capture Response Method
          override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
              data ?: return
              if (requestCode == SignatureConstants.SIGNATURE_CAPTURE_REQUEST_CODE) {
                  var signatureData = data?.getStringExtra("SignatureImage")
                  var signatureDataCoordinates = data?.getStringExtra("SignatureDataCoordinates")
                  IdentityProofingSDK.setSignatureData(signatureData,signatureDataCoordinates)
              } else if (requestCode == SignatureConstants.SIGNATURE_CANCEL_RESPONSE_CODE) {
                  // cancelled by user
                  IdentityProofingSDK.setSignatureData(null,null)
              }
          }
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/android-sdk-2.md)

<a id="3-fingerprint-capture"></a>

## 5.3 FingerPrint Capture

Replace below `SDK v1.0` FingerPrint Capture call

```

          SDK v1.0 FingerPrint Capture API Call 1
          ImageProcessingSDK.getInstance().captureFourFingerprint(Activity activity)

          SDK v1.0 FingerPrint Capture API Call 2
          ImageProcessingSDK.getInstance().captureFourFingerprint(Activity activity, JSONObject jsonObject)

          SDK v1.0 FingerPrint Capture Response Method
          @Override
          public void onFourFingerCaptureFinished(Map resultMap, Response response) {
          }
      
```

With the below `SDK v2.0` FingerPrint Capture API

```

          Check Getting Started for Four Fingerprint Capture in the SDK 2.0 document.

          val indexCapture: Boolean = true
          val middleCapture: Boolean = true
          val ringCapture: Boolean = true
          val babyCapture: Boolean = true

          val dIndexKeep = true
          val dMiddleKeep = true
          val dRingKeep = true
          val dBabyKeep = true

          val captureLeftHand: Boolean = true
          val instructionScreen: Boolean = false
          val config = JSONObject()
          config.put(
              UIConfigurationParameters.CFC_PROCESS_INDEX_FINGER,
              if (indexCapture) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_PROCESS_MIDDLE_FINGER,
              if (middleCapture) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_PROCESS_RING_FINGER,
              if (ringCapture) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_PROCESS_BABY_FINGER,
              if (babyCapture) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_CAPTURE_LEFT_HAND,
              if (captureLeftHand) "Y" else "N"
          )

          config.put(
              UIConfigurationParameters.CFC_KEEP_INDEX_FINGER,
              if (dIndexKeep) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_KEEP_MIDDLE_FINGER,
              if (dMiddleKeep) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_KEEP_RING_FINGER,
              if (dRingKeep) "Y" else "N"
          )
          config.put(
              UIConfigurationParameters.CFC_KEEP_BABY_FINGER,
              if (dBabyKeep) "Y" else "N"
          )

          config.put(
              UIConfigurationParameters.CFC_SHOW_INSTRUCTION_SCREEN,
              if (instructionScreen == true) "Y" else "N"
          )
          //set language for sdk capture
          FingerPrintCaptureSDK.setLanguage(LanguageUtils.LANGUAGE.ES.toString())

          SDK v2.0 FingerPrint Capture API
          FingerPrintCaptureSDK.captureFourFingerprint(this, config) {
              resultMap, response -> //set 4fingerPrintData in to the sdk 2.0
              // SDK v2.0 FingerPrint Capture Response Method
              IdentityProofingSDK.set4FingerPrintData(resultMap)
          }
      
```

> **NOTE :** For all parameter details, please refer to [SDK v2.0 Documentation](https://docs.idmission.com/markdown/mobile/android-sdk-2.md)

<a id="4-voice-capture"></a>

## 5.4 Voice Capture

Replace below `SDK v1.0` Voice Capture call

```

          SDK v1.0 Voice Capture API
          ImageProcessingSDK.startVoiceRecording(Activity activityContext, final int recordingTime)

          SDK v1.0 Voice Capture Response Method
          @Override
          public void onVoiceRecordingFinished(Map resultMap, Response response) {
          }
      
```

With the below `SDK v2.0` Voice Capture API

```

          SDK v2.0 Voice Capture API Call 1
          IdentityProofingSDK.voiceCapture(activity: Activity)

          SDK v2.0 Voice Capture API Call 2
          IdentityProofingSDK.voiceCapture(activity: Activity, sdkCustomizationOptions: SDKCustomizationOptions)

          SDK v2.0 Voice Capture Response Method
          override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
              if(requestCode == CaptureConstants.VOICE_CAPTURE_REQUEST_CODE){
                   if(resultCode == RESULT_OK){
                       var voiceCaptureData = data?.getStringExtra(CaptureConstants.VOICE_CAPTURE_DATA)
                       var voiceCaptureFilePath = data?.getStringExtra(CaptureConstants.VOICE_CAPTURE_FILE_PATH)
                   }else if(resultCode == CaptureConstants.OPERATION_CANCEL){
                       Toast.makeText(applicationContext,"operation canceled by user",Toast
                           .LENGTH_SHORT).show()
                   }

               }
          }
      
```

> For parameters, recording duration, and result handling, see the [Android Voice Capture reference](https://docs.idmission.com/markdown/mobile/android-voice-capture.md).

<a id="7-reference-links"></a>

# 7. Reference Links

### SDK-1.0 Documentation Link : https\://documentation.idmission.com/identity/Android-SDK-1/

### SDK-2.0 Documentation Link : https\://documentation.idmission.com/identity/Android-SDK-2/
