SDKS
Android SDK Guide
This guide provides detailed instructions for integrating the Scanovate Colombia SDK into your Android application, enabling robust identity validation processes through facial biometric verification.
Requirements and Compatibility
Before starting the integration process, ensure your development environment meets the following requirements:
- Android Studio: The latest version is recommended for optimal compatibility.
- Minimum SDK Version: Android SDK version 21 (Lollipop) or higher.
- Target SDK Version: Android SDK version 34 (Android 14) to ensure your app is compatible with the latest Android OS.
- Compile SDK Version: Android SDK version 34.
Installation
1. Add the library
Download the "hybridComponent_3_0_0_15.aar" library and add it to your project's libs
folder. Ensure you configure your project's build.gradle
file to include the library as a dependency:
dependencies {
implementation(name: 'hybridComponent_3_0_0_15', ext: 'aar')
}
2. Import Required Libraries
Add the following imports in your activity or fragment where you intend to use the Scanovate SDK:
Java
import mabel_tech.com.scanovate_demo.ScanovateHandler;
import mabel_tech.com.scanovate_demo.ScanovateSdk;
import mabel_tech.com.scanovate_demo.model.CloseResponse;
import mabel_tech.com.scanovate_demo.network.ApiHelper;
import mabel_tech.com.scanovate_demo.network.RetrofitClient;
The CloseResponse
object will contain the results of the transaction, providing detailed feedback on the validation process.
Example Implementation
For a practical example of how to implement the Scanovate SDK in your Android application, refer to the following steps:
- Setup UI Elements: Initialize buttons, text views, and other UI elements in your activity's
onCreate
method. This setup includes buttons for starting the enrollment and verification processes, a text view for displaying results, and an edit text for user input. - Invoke the SDK: Use the
HybridComponent.start
method to launch the Scanovate SDK. This method requires several parameters, including language, project name, API key, product ID, and the SDK URL. It also allows you to specify the type of capture (e.g., liveness detection, document capture) and whether to capture the front or back side of a document. - Handle Callbacks: Implement
ScanovateHandler
to manage success and failure callbacks. On success, process theCloseResponse
object to display the transaction result. On failure, handle errors accordingly.
Example
// Example capture method implementationpublic void capture() { HybridComponent.start(this, "documentType" //Tipo de Documento "VerificarID en Documentación de ADO" "es", //language: "en") // en (para ingles) es (para español) "lulobankqa" //ProyectName "db92efc69991", //ApiKey "1", //ProductId "https://adocolumbia.ado-tech.com/lulobankqa/api/", //Url_Sdk "https://api-dev.ado-tech.com/api/EventTracer/", //Url_TracerBackendServices (Servicio Proporcionado Por nosotros para la Flujo de los LOGS o TAGS del proceso.) ** Opcional** "true" //ImmersiveMode "f47ac10b-58cc-4372-a567-0e02b2c3d479", //ProcessID (ID creado con el servicio de CreateProccees para trasa de eventos) **Opcional** functionCapture, 1 Livennes , 2 CardCapture isFrontSide, // Captura de Documento (True captura Frontal)(False Captura Trasera) null, //Token "null", new ScanovateHandler() { @Override public void onSuccess(CloseResponse response, int code, String uuidDevice) { progress.show(); String calificacion = response.getExtras().getStateName(); evaluateTransaction(response.getTransactionId()); } @Override public void onFailure(CloseResponse closeResponse) { String calificacion = closeResponse.getExtras().getStateName() +" "+ closeResponse.getExtras().getAdditionalProp1() ; } }); }
Parameters Explained
- language: Sets the language for the SDK's UI.
- projectName: Unique identifier for your project.
- apiKey: Authentication key provided by Scanovate.
- productId: Identifies the specific Scanovate product/service being used.
- sdkUrl: The base URL for making API calls to the Scanovate services.
- Url_TracerBackendServices: Url for the event reporting service is not required and is only an extra service. (Optional)
- ImmersiveMode: Mode to make the component consume all available space while hiding the system UI.
- Process_ID: Process identifier to perform the events mapped at the SDK level. (Optional)
- functionCapture: Specifies the operation mode of the SDK.
- documentSide: Determines which side of the document to capture.
- additionalParameters: Allows for passing any additional required parameters.
- completionHandler: Closure that handles the response or error from the SDK.
Process Transaction Results
After capturing the necessary data, use the RetrofitClient
to send the data for validation and display the final state of the transaction to the user.
State Codes Reference
Be aware of the following state codes when processing responses:
200
: "SUCCESS"201
: "THE_NUMBER_OF_CONFIGURED_ATTEMPTS_WAS_EXCEEDED_AND_NO_LIFE_WAS_FOUND_IN_THESE"203
: "TIMEOUT"302
: "INTERNAL_ERROR"204
: "CANCELED_PROCED"205
: "PERMISSIONS_DENIED"401
: "TOKEN_ERROR"404
: "INVALID_CREDENTIALS"500
: "CONNECTION_ERROR"
This guide aims to streamline the integration process of the Scanovate Colombia SDK into your Android application, ensuring you can efficiently implement a robust identity validation system.
Demo Application
For a comprehensive example, including full source code demonstrating the integration and usage of the Scanovate Colombia SDK, visit our GitHub repository:
Scanovate Colombia SDK Demo App For Android
This demo app provides a hands-on example to help you understand how to integrate and utilize the SDK in your own applications.
iOS SDK Guide
This guide outlines the steps for integrating the SMSDK framework into your iOS application, enabling identity validation processes through facial biometric verification or document scanning.
Installation
-
Add the library
- Download the "SMSDK.xcframework" file.
- In your Xcode project, navigate to the target's general settings.
- Go to the "Frameworks, Libraries, and Embedded Content" section.
- Click the "+" button and add the "SMSDK.xcframework" to your project. Ensure it's set to "Embed & Sign".
-
Import Required Libraries
In the file where you plan to use the SDK, import the necessary libraries:
swift
import UIKit
import AdoComponent
The TransactionResponse
object will contain the results of the transaction, providing detailed feedback on the validation process.
Minimum SDK Version for iOS
Update the minimum iOS version to iOS 11.0:
Example Implementation
To initiate the SMSDK framework, use the initWith
method from the SMManager
class. This method requires a delegate and an SMParams
object containing the launch parameters. Implement the SMDelegate
extension to handle the SDK's response.
Intialization
let params = SMParams(productId: "1",
projectName: "lulobankqa",
apiKey: "db92efc69991",
urlSdk: "https://adocolumbia.ado-tech.com/lulobankqa/api/",
token: "",
function: 1, // 1 for Liveness, 2 for Document Scanning
isFrontSide: false, // true for front, false for back of the document
uidDevice: "",
language: "en") // "en" for English, "es" for Spanishlet smManagerVC = SMManager.initWith(delegate: self, params: params)
smManagerVC.modalPresentationStyle = .fullScreen
present(smManagerVC, animated: true, completion: nil)// MARK: - SMDelegate
extension ViewController: SMDelegate {
func completedWithResult(result: Bool, response: ResultsResponse?) {
dismiss(animated: true) {
// Handle the SDK response here
}
}
}
Parameters Explained
- productId: Identifier for the product being used.
- projectName: Your project identifier provided by the service.
- apiKey: Your API key for authentication with the service.
- urlSdk: The base URL for the SDK's services.
- token: Optional token for additional authentication (if required).
- function: Determines the operation mode (e.g., 1 for Liveness, 2 for Document Scanning).
- isFrontSide: Indicates which side of the document to capture.
- uidDevice: A unique identifier for the device.
- language: Specifies the language for the SDK interface.
Resources
Resource files, including animations provided by the client, can be found at the following path within your project:
SMSDKTest/Resources/Animations
Ensure these resources are correctly integrated into your project for the SDK to function as intended.
State Codes Reference
Be aware of the following state codes when processing responses:
200
: "SUCCESS"201
: "THE_NUMBER_OF_CONFIGURED_ATTEMPTS_WAS_EXCEEDED_AND_NO_LIFE_WAS_FOUND_IN_THESE"203
: "TIMEOUT"204
: "CANCELED_PROCED"205
: "PERMISSIONS_DENIED"401
: "TOKEN_ERROR"404
: "INVALID_CREDENTIALS"500
: "CONNECTION_ERROR"
Demo Application
For a comprehensive example, including full source code demonstrating the integration and usage of the Scanovate Colombia SDK, visit our GitHub repository:
Scanovate Colombia SDK Demo App For iOS
This demo app provides a hands-on example to help you understand how to integrate and utilize the SDK in your own applications.
JavaScript SDK Guide
Integrating ADO Technologies' JavaScript SDK into your web application enables you to leverage advanced identity verification features, such as Liveness Detection and Document Capture. This guide provides a structured approach to seamlessly incorporate these functionalities, enhancing the security and user experience of your platform.
Overview
The ADO Technologies JavaScript SDK offers a comprehensive suite of tools designed for real-time identity verification. By integrating this SDK, you can authenticate users by capturing their facial features and identification documents directly within your web application. This process is streamlined and user-friendly, ensuring a high level of accuracy in identity verification.
Requirements
Before starting the integration, ensure you have:
- Access to ADO Technologies' JavaScript SDK files.
- The API key and project name provided by ADO Technologies.
- A clear understanding of the specific features (e.g., Liveness Detection, Document Capture) you wish to implement.
Integration Steps
-
Include SDK and Assets: Incorporate the JavaScript SDK and related assets into your web project. This involves linking to the SDK's script files and CSS for styling.
-
Configure SDK Parameters: Set up the necessary parameters for the SDK, including the base URL, project name, API key, and product ID. These parameters are crucial for initializing the SDK and ensuring it functions correctly within your application.
-
Implement User Interface: Design and implement the user interface through which users will interact with the identity verification features. This includes input fields for configuration parameters and buttons to initiate the capture process.
-
Capture Process: Utilize the SDK's functions to capture facial images or documents based on the user's selection. This process should be intuitive, with clear instructions provided to the user.
-
Handle Responses: Implement logic to handle the SDK's responses, including success and error callbacks. Display the results appropriately within your application, ensuring users are informed of the outcome.
-
Testing and Validation: Thoroughly test the integration to ensure the identity verification process works as expected. Pay special attention to user experience, ensuring the process is smooth and intuitive.
Parameters
To initialize the ADO Technologies JavaScript SDK for identity verification within your web application, you'll need to configure several key parameters. These parameters are essential for tailoring the SDK's functionality to your specific needs and ensuring the verification process operates correctly. Below is an explanation of each parameter required for initialization:
-
UrlBase: The base URL of the ADO Technologies service. This URL is the entry point for all SDK requests and should be provided by ADO Technologies. It determines where the SDK sends its verification requests.
-
ProjectName: The name of your project as registered with ADO Technologies. This parameter helps the service identify which client is making the request, ensuring that the verification process is correctly attributed and logged.
-
ApiKey: A unique key provided by ADO Technologies that authenticates your application's requests. The API key is crucial for securing communication between your application and the ADO Technologies service, preventing unauthorized access.
-
ProductId: An identifier for the specific product or service you're using from ADO Technologies. This could relate to different types of verification services offered, such as Liveness Detection or Document Capture.
-
functionCapture: Determines the type of capture process to be initiated. This parameter allows you to specify whether you're performing Liveness Detection, Document Capture, or other supported verification processes. The options are typically represented as numerical values or specific strings defined by the SDK.
-
IsFrontSide: A boolean parameter indicating whether the document capture (if applicable) should focus on the front side of the identification document. This is relevant for services that require document images as part of the verification process.
-
UidDevice: A unique identifier for the device being used to perform the verification. This can be useful for logging, analytics, and ensuring that verification attempts are uniquely associated with a specific device.
-
Token: An optional parameter that may be required for additional authentication or session management purposes. If your verification process involves multiple steps or requires maintaining a session state, this token can be used to manage that state across requests.
-
ProcessId: An identifier for the specific verification process instance. This can be used to track the progress of a verification attempt or to retrieve results after the process has been completed (How to generate the process Id).
These parameters are typically set by assigning values to the corresponding input fields or variables within your web application's frontend code. Once configured, these parameters are passed to the SDK's initialization function, which prepares the SDK for the capture and verification process based on the provided configuration.
It's important to handle these parameters securely, especially those that could be sensitive, such as the ApiKey
and Token
. Ensure that your application's frontend and backend architecture support secure transmission and storage of these values.
Example Implementation
Below is an example HTML structure demonstrating how to set up the SDK in your web application. This example includes the SDK and asset links, configuration inputs, and the capture initiation button.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
<title>Demo ADO Components</title>
<script type="text/javascript" src="Assets/scanovate_card_capture/script.js"></script>
<script type="text/javascript" src="Assets/ComponentsManager.js"></script>
<link rel="stylesheet" href="Assets/scanovate_card_capture/assets/main.css">
<link rel="stylesheet" href="Assets/scanovate_card_capture/assets/loader.css">
</head>
<body>
<!-- Configuration and Capture UI omitted for brevity --><script>
function InitCapture() {
// Capture initialization logic and callbacks
}
</script>
</body>
</html>
This structure is a starting point for integrating the SDK. Customize the configuration and UI according to your application's needs and the specific features you plan to use.
By following this guide, you can effectively integrate ADO Technologies' JavaScript SDK into your web application, enabling robust identity verification functionalities that enhance the security and user experience of your platform.