Lanzamiento simplificado
Última versión disponible
2.3.5
1. Introducción
SDK Mobile está formado conjunto de librerías (Componentes) que ofrecen la posibilidad de hacer un producto a medida para cada cliente.
1.1. Requisitos mínimos
La versión mínima de la SDK de Android requerida es la siguiente:
-
SDK mínima (minSdk): 24
-
API Version: 35
-
Kotlin: 2.1.21
-
Plugin Gradle Android: 8.9.3
2. Lanzamiento simplificado
A continuación se describen los 5 pasos necesarios para el uso del SDK.
2.1. Configurar el repositorio y la dependencia base
Por cuestiones de seguridad y mantenimiento, los nuevos componentes de la SDKMobile se almacenan en unos repositorios privados que requieren de unas credenciales específicas para poder acceder a ellos. Esas credenciales deberá obtenerlas a través del equipo de soporte de Facephi.
Una vez obtenidas las credenciales, se deberá incluir el siguiente fragmento de código en el fichero settings.gradle:
mavenCentral()
maven {
Properties props = new Properties()
def propsFile = new File('local.properties')
if(propsFile.exists()){
props.load(new FileInputStream(propsFile))
}
name="external"
url = uri("https://facephicorp.jfrog.io/artifactory/maven-pro-fphi")
credentials {
username = props["artifactory.user"] ?: System.getenv("USERNAME_ARTIFACTORY")
password = props["artifactory.token"] ?: System.getenv("TOKEN_ARTIFACTORY")
}
}
Las credenciales se incluirán en el fichero local.properties con la siguiente estructura:
artifactory.user=YOUR_CREDENTIALS_USERNAME
artifactory.token=YOUR_CREDENTIALS_TOKEN
La dependencia base obligatoria para el uso del SDK es:
implementation "com.facephi.androidsdk:sdk:$version"
Para completar la funcionalidad se añadirán las dependendencias de los componentes que se vayan a utilizar.
2.2. Inicializar el SDK
El SDK funciona a través de un controlador principal (SDKController) que debe inicializarse correctamente para poder hacer uso del resto de funcionalidad. El equipo de Facephi facilitará el apiKey de la licencia para poder incluirlo en el proyecto.
Código de inicialización:
val sdkConfig = SdkConfigurationData(
sdkApplication = SdkApplication(application),
licensing = LicensingOnline(EnvironmentLicensingData(
apiKey = "...")
)),
)
val result = SDKController.initSdk(sdkConfig)
when (result) {
is SdkResult.Success -> Log.d("APP: INIT SDK: OK")
is SdkResult.Error -> Log.d(
"APP: INIT SDK: KO - ${result.error.name}"
)
}
if (BuildConfig.DEBUG) {
SDKController.enableDebugMode()
}
2.3. Iniciar operación
Siempre se debe iniciar una operación para que se pueda lanzar el proceso.
Este método tiene 3 parámetros de entrada:
-
operationType: Indica si se va a hacer un proceso de ONBOARDING o de AUTHENTICATION.
-
customerId: Identificador del usuario (controlado a nivel de aplicación).
-
steps: Lista de pasos de la operación si se han definido previamente.
val result = SDKController.newOperation(
operationType = OperationType.ONBOARDING,
customerId = "customer_id",
steps = listOf(Step.SELPHI_COMPONENT, Step.SELPHID_COMPONENT))
when (result) {
is SdkResult.Success -> {
Timber.d("APP: NEW OPERATION OK")
}
is SdkResult.Error -> {
Timber.d("APP: NEW OPERATION ERROR: ${result.error.name}")
}
}
2.4. Lanzamiento de los componentes
La funcionalidad del SDK nace de la combinación de los diferentes componentes. Cada componente tiene sus propios controladores que se “lanzarán” desde el SDKController.
val result = SDKController.launch(ExampleController(ConfigurationData()))
when (result) {
is SdkResult.Success -> {
//Result OK
it.data
}
is SdkResult.Error -> {
//Result KO
it.error.name
}
}
Se detalla el lanzamiento de cada funcionalidad en su apartado de la documentación:
- Conexión con plataforma
- Captura facial
- Captura de documentos
- Captura de voz
- Captura de NFC
- Captura de huellas
- Videollamada
- Vídeo identificación
- Vídeo grabación
Para el caso del lanzamiento continuo o "flow":
2.5. Cierre de sesión
Antes de finalizar la aplicación se debe cerrar la sesión del SDK:
SDKController.closeSession()