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