Captura de huellas
Introducción
El Componente tratado en el documento actual recibe el nombre de Phingers Component. Éste se encarga de realizar la captura de las huellas de los dedos (fingerprints) del usuario y la posterior extracción de las plantillas de las huellas posteriores. Sus principales funcionalidades son las siguientes:
Dos modos de funcionamiento: extracción de los cuatro dedos de la mano (excepto el pulgar), o extracción únicamente del pulgar.
Gestión interna de cámara.
Gestión de permisos.
Detección de vivacidad incorporada.
Asistente en los procesos de captura de las huellas.
Generación de las plantillas con las características de las huellas, imágenes y puntuaciones.
En el apartado de Lanzamiento simplificado se detallan los pasos necesarios para la integración básica del SDK. En esta sección se añade la información para el lanzamiento de este componente.
Dependencias
Para evitar conflictos y problemas de compatibilidad, en caso de querer instalar el componente en un proyecto que contenga una versión antigua de las librerías de Facephi (Widgets), éstos deberán eliminarse por completo antes de la instalación de los componentes de la SDKMobile.
Cocoapods
pod 'FPHISDKMainComponent', '~> 2.3.0'Para instalar el componente actual deberá incluirse la siguiente entrada en el Podfile de la aplicación:
pod 'FPHISDKPhingersTFComponent', '~> 2.3.0'Una vez instaladas las dependencias, se podrá hacer uso de las diferentes funcionalidades del componente.
SPM
Las dependencias obligatorias que deberán haberse instalado previamente son:
Para instalar el componente de Selphid deberá incluirse en los módulos del proyecto:
Permisos y configuraciones
En la aplicación cliente donde se vayan a integrar los componentes es necesario incorporar el siguiente elementos en el fichero info.plist
Controladores disponibles
Controlador
Descripción
PhingersController
Controlador principal de captura de huellas
Lanzamiento simplificado
Configuración básica
Para lanzar el componente actual, se deberá crear un objeto PhingersConfigurationData que será la configuración del controlador del componente.
La configuración básica necesaria para es la siguiente:
Las diferentes orientaciones son:
LEFT
RIGHT
Los diferentes filtros son:
SLAP
ALL_4_FINGERS_ONE_BY_ONE
ALL_5_FINGERS_ONE_BY_ONE
INDEX_FINGER
MIDDLE_FINGER
RING_FINGER
LITTLE_FINGER
THUMB_FINGER
Recepción del resultado
Los controllers devolverán la información necesaria en formato SdkResult.
Recepción de errores
En la parte del error, dispondremos de la clase común ErrorType:
PHG_CANCEL_BY_USER: El usuario ha cancelado el proceso.
PHG_COMPONENT_LICENSE_ERROR: La licencia del componente no es correcta.
PHG_EMPTY_LICENSE: El String de licencia está vacío.
PHG_INITIALIZATION_ERROR: Error de inicialización.
PHG_INTERNAL_ERROR: Error interno.
PHG_LOW_QUALITY: Baja calidad de la imagen.
PHG_OPERATION_NOT_CREATED: No hay ninguna operación en curso.
PHG_CAMERA_PERMISSION_DENIED: El usuario ha rechazado los permisos.
PHG_CAMERA_FAILURE: Fallo de la cámara.
PHG_FINGERPRINT_TEMPLATE_IO_ERROR: Fallo IO
PHG_NO_FINGERS_DETECTED: Error en la detección de huellas
PHG_TIMEOUT: Timeout en el proceso.
Recepción de ejecución correcta - data
En la parte de data, dispondremos de la clase PhingersResult.
El campo data es variable y dependerá de qué componente se ha devuelto el resultado. En el caso de este componente, los campos devueltos son los siguientes:
Fingers
position
Devuelve un entero que representa el elemento capturado. Este valor se establece según las instrucciones del NIST_POS_CODE.
displayImage
Contiene la imagen procesada.
wsq
La huella dactilar en formato WSQ.
minutiaesNumber
Devuelve el número de minucias encontradas en la captura biométrica.
quality
Entero que representa la calidad del elemento procesado.
nistQuality
Entero que representa la calidad del elemento procesado usando los estándares NIST.
nist2Quality
Entero que representa la calidad del elemento procesado usando una versión alternativa de los estándares NIST.
livenessScore
Contiene un valor del indicador de confianza en la captura.
template
Contiene la template generada.
SlapImages
position
Devuelve un entero que representa el elemento capturado. Este valor se establece según las instrucciones del NIST_POS_CODE.
image
Contiene la imagen procesada.
livenessScore
Contiene un valor del indicador de confianza en la captura.
Información avanzada
Este apartado amplía la información del componente.
Configuración avanzada del componente
Para lanzar el componente actual, se deberá crear un objeto PhingersConfigurationData que será la configuración del controlador del componente.
A continuación se detallan todos los campos que forman parte de esta clase.
reticleOrientation
Configura qué mano se va a proceder a capturar. Los valores permitidos son:
LEFT: Activa la captura de los dedos de la mano izquierda.
RIGHT: Activa la captura de los dedos de la mano derecha.
fingerFilter
Configura el modo de detección de huellas dactilares que se usará durante la captura. Los valores permitidos son:
INDEX_FINGER: Configura la captura con el dedo índice.
MIDDLE_FINGER: Configura la captura con el dedo corazón.
RING_FINGER: Configura la captura con el dedo anular.
LITTLE_FINGER: Configura la captura con el dedo meñique.
THUMB_FINGER: Configura la captura con el dedo pulgar.
SLAP: Configura la captura de los cuatro dedos con una solo foto.
ALL_4_FINGERS_ONE_BY_ONE: Configura la captura de los cuatro dedos haciendo una foto por cada uno de ellos.
ALL_5_FINGERS_ONE_BY_ONE: Configura la captura de los cinco dedos haciendo una foto por cada uno de ellos.
templateType
Especifica la plantilla con la que se devolverá la huella dactilar en el resultado. El enumerado TemplateType tiene los siguientes valores posibles:
ISO_TEMPLATE: Este template hace referencia al estandar ISO/IEC 19794-4.
NIST_TEMPLATE: Este template hace referencia al estandar NIST.
NIST_TF_TEMPLATE: Este es el valor por defecto. Este template hace referencia a una variante del estandar NIST que facilita el procesado y evaluación de la muestra.
extractionTimeout
Establece el tiempo máximo que se puede realizar la lectura.
showPreviousTip
Muestra una pantalla previa al lanzamiento de la captura con información sobre el proceso a realizar y un botón para el lanzamiento.
showTutorial
Indica si el componente activa la pantalla de tutorial. En esta vista se explica de forma intuitiva cómo se realiza la captura.
vibrationEnabled
Si se le da valor true, se activa la vibración en errores y si la respuesta del widget es OK.
showDiagnostic
Mostrar pantallas de diagnóstico al final del proceso.
threshold
Configura el threshold del detector de huellas. El valor por defecto es 0.7.
showEllipses
Dibuja una elipsa durante la captura cuando se detecta una posible huella.
cropWidth & cropHeight
Indica un ancho y alto para realizar un recorte de la captura.
Personalización del componente
Aparte de los cambios que se pueden realizar a nivel de SDK (los cuales se explican en el documento de Personalización del SDK), este componente en concreto permite la modificación de su interfaz.
Textos
Los textos pueden ser customizados sobreescribiendo el valor de las siguientes claves en un Localizable.strings. Las claves que contienen el sufijo _alt son los literales utilizados en las etiquetas de accesibilidad necesarias para la funcionalidad de voice over.
De este modo, si se desea modificar por ejemplo el texto “Finalizar” de la clave phingers_tf_component_exit_alert_finish para el idioma es-MX, se deberá ir al archivo Localizable.strings de la carpeta es-MX.lproj si es que existe (si no, se deberá crear) y ahí, añadir:
"phingers_tf_component_exit_alert_finish"="Terminar";
Si un mensaje no se especifica en el fichero del idioma, este se rellenará con el mensaje por defecto.
Animaciones
Si se desea modificar las animaciones (lottie) de la SDK habría que incluir las animaciones con el mismo nombre en la carpeta Resources de la aplicació.
Last updated