For the complete documentation index, see llms.txt. This page is also available as Markdown.

Captura facial con IAD - Selphi

Diferencias con la captura facial estándar

El Selphi IAD Component es funcionalmente equivalente al Selphi Component estándar, incorporando controles adicionales de seguridad orientados a la detección de ataques de inyección de vídeo y entornos de captura no confiables.

La integración, configuración y flujo de uso del componente son los mismos. La principal diferencia funcional es la inclusión del campo iad en el resultado (SelphiResult), que contiene la información del análisis antifraude preparada para su verificación en servidor.

Para su uso es necesaria una nueva licencia y sustituir la dependencia del componente estándar por:

implementation "com.facephi.androidsdk:selphi_iad_component:$version"

Este componente tiene dos restricciones importantes:

  • Dispositivos con mínimo 3 GB de RAM.

  • Cámara delantera con preview de 1920x1080 o superior.

Introducción

La captura facial con detección de ataques de inyección de vídeo se realiza mediante el Selphi IAD Component.

Este componente se encarga de capturar un selfie del usuario y extraer sus características faciales más relevantes incorporando un conjunto de controles de seguridad preventivos orientados a detectar entornos no confiables. Durante el proceso se realizan, entre otros, los siguientes pasos:

  • Gestión interna de cámaras y permisos.

  • Detección de intentos de suplantación mediante vídeos o fuentes de cámara manipuladas.

  • Asistencia guiada durante la captura facial.

  • Generación de plantillas biométricas e imágenes del usuario.

En la sección Lanzamiento simplificado se describen los pasos básicos para la integración del SDK. En esta página se detalla la información específica necesaria para lanzar y configurar este componente.


Dependencia

La dependencia específica del componente es:


Controladores disponibles

Este componente incluye varios controladores, cada uno orientado a una funcionalidad concreta.

Controlador
Descripción

SelphiController

Controlador principal de reconocimiento facial

RawTemplateController

Generación de un RawTemplate a partir de una imagen

SignatureSelphiController

Firma de un proceso utilizando una captura facial


Lanzamiento simplificado

Una vez iniciado el SDK y creada una nueva operación el componente puede lanzarse utilizando cualquiera de sus controladores.


Configuración básica

Para lanzar el componente es necesario crear un objeto SelphiConfigurationData, que define el comportamiento del widget.

El componente permite los siguientes modos de detección de vida:

  • SelphiFaceLivenessMode.NONE

  • SelphiFaceLivenessMode.PASSIVE

  • SelphiFaceLivenessMode.MOVE


Recepción del resultado

El resultado del lanzamiento se devuelve como un objeto SdkResult, que puede indicar un resultado correcto o un error (en los datos del resultado vendrá el campo que lleva la información asociada al IAD Recepción del resultado correcto - data)

Recepción de errores

Los errores se devolverán como un objeto 'SelphiError'.

Listado de errores:

  • SPI_ACTIVITY_RESULT_ERROR: El resultado de la actividad es incorrecto.

  • SPI_ACTIVITY_RESULT_MSG_ERROR: El resultado de la actividad recibido en el msg es incorrecto.

  • SPI_APPLICATION_CONTEXT_ERROR: El contexto de aplicación necesario es nulo.

  • SPI_BAD_EXTRACTOR_CONFIGURATION_ERROR: Widget: Configuración del extractor incorrecta.

  • SPI_CAMERA_PERMISSION_DENIED: El usuario ha rechazado los permisos.

  • SPI_CANCEL_BY_USER: El usuario ha cancelado el proceso.

  • SPI_CANCEL_LAUNCH: Se ha hecho una cancelación general del SDK.

  • SPI_COMPONENT_LICENSE_ERROR: La licencia del componente no es correcta.

  • SPI_CONTROL_NOT_INITIALIZATED_ERROR: Widget: Error de inicialización.

  • SPI_EMPTY_LICENSE: El String de licencia está vacío.

  • SPI_EXTRACTION_LICENSE_ERROR: Widget: Error de licencia.

  • SPI_FETCH_DATA_ERROR: Error en la recogida del resultado.

  • SPI_FLOW_ERROR: Error en el proceso de flow.

  • SPI_HARDWARE_ERROR: Widget: Error de hardware.

  • SPI_INITIALIZATION_ERROR: Error de inicialización.

  • SPI_MANAGER_NOT_INITIALIZED: Los managers son nulos.

  • SPI_NO_DATA_ERROR: Los datos de entrada son nulos.

  • SPI_OPERATION_NOT_CREATED: No hay ninguna operación en curso.

  • SPI_RESOURCES_NOT_FOUND: No se ha encontrado el zip de recursos.

  • SPI_SETTINGS_PERMISSION_ERROR: Widget: Error de permisos.

  • SPI_TEMPLATE_ERROR:

  • SPI_TIMEOUT: Timeout en el proceso.

  • SPI_UNEXPECTED_CAPTURE_ERROR: Widget: Error en la captura.

  • SPI_UNKNOWN_ERROR: Error desconocido.

  • SPI_WIDGET_RESULT_DATA_ERROR: Error en los datos de salida del widget.

Recepción del resultado correcto - data

Cuando el resultado es correcto (SdkResult.Success), se obtiene un objeto SelphiResult.

Las imágenes se devuelven en formato SdkImage. Es posible acceder al bitmap mediante image.bitmap. Para convertir una imagen a Base64:

Campos devueltos

  • templateRaw Plantilla en bruto generada tras la extracción. Válida para procesos de matching.

  • template Plantilla procesada tras la extracción. Válida para procesos de matching.

  • bestImage Mejor imagen capturada en resolución original. Esta imagen tiene el tamaño original extraída de la cámara. Válida para el proceso de liveness.

  • bestImageCropped Imagen recortada centrada en la cara del usuario. Se obtiene a partir de la bestImage.

  • logImages Lista con las 5 mejores imágenes (requiere logImages = true).

  • bestImageTokenized Mejor imagen cifrada del proceso. Válida para el proceso de liveness.

  • bestImageTokenized Mejor imagen cifrada del proceso. Válida para el proceso de liveness.

  • iad Información obtenida en el análisis de ataques de inyección de vídeo preparada para su envío al servicio de verificación.

  • livenessDiagnostic Información del proceso de verificación que confirma que la persona está físicamente presente y es real.


Información avanzada

Controladores Adicionales

SignatureSelphiController

Funciona de forma equivalente a SelphiController, con la diferencia de que genera un fichero de firma en la plataforma.

RawTemplateController

Permite generar un RawTemplate a partir de una imagen (Bitmap).

Ejemplo de uso:

Configuración avanzada

El comportamiento del componente se define mediante SelphiConfigurationData.

Parámetros disponibles

  • resourcesPath Nombre del archivo ZIP de recursos (ubicado en assets). Ejemplo: “resources-selphi-2-0.zip“.

  • cropPercent Porcentaje de recorte de la cara. Cuanto mayor sea el número mayor será el recorte del rectángulo con respecto a la cara.

  • cropImageDebug Muestra información de depuración del recorte.

  • showResultAfterCapture Muestra una pantalla de confirmación tras la captura. Se le da al usuario la posibilidad de repetir el proceso de captura si la imagen que se obtuvo no fuera correcta.

  • showTutorial Activa la pantalla de tutorial. Se explica de forma intuitiva cómo se realiza la captura.

  • livenessMode Modo de detección de vida (NONE, PASSIVE, MOVE).

    • SelphiFaceLivenessMode.NONE: Indica que no debe activarse el modo detección de foto en los procesos de autenticación.

    • SelphiFaceLivenessMode.PASSIVE: Indica que la prueba de vida pasiva se realiza en el servidor, enviando para tal fin la “BestImage” o el “TemplateRaw” correspondiente.

    • SelphiFaceLivenessMode.MOVE: Indica que el test de liveness es activo, mostrando unas instrucciones durante la captura, y devolviendo el correspondiente resultado del proceso.

  • stabilizationMode Obliga al usuario a mantener la cabeza estable antes de capturar, mirando al frente y sin mover la cabeza.

  • cameraFlashEnabled Activa el flash de la cámara.

  • fullscreen Prioriza la visualización a pantalla completa.

  • templateRawOptimized Optimiza el templateRaw generado.

  • qrMode Activa la lectura de QR previa al proceso de autenticación.

  • videoFilename Ruta absoluta para grabar vídeo del proceso. La aplicación es la responsable de solicitar los permisos necesarios al teléfono en caso de requerirlos.

  • viewsContent Configuración avanzada de vistas mediante XML. Esta propiedad no altera el contenido del archivo de recursos.

  • showDiagnostic Muestra pantallas de diagnóstico.

  • logImages Devuelve las 5 mejores imágenes capturadas.

  • showPreviousTip Muestra una pantalla informativa previa a la captura.

  • extractionDuration Duración del proceso de extracción.

  • cameraPreferred Cámara preferida (FRONT, BACK).

  • vibrationEnabled Feedback de vibración al finalizar.

  • moveSuccessfulAttempts Reintentos permitidos en capturas correctas (por defecto 1).

  • moveFailedAttempts Reintentos permitidos en capturas incorrectas (por defecto 2).


Personalización del componente

Además de los cambios que se pueden realizar a nivel de SDK (explicados en Personalización del SDK), este componente permite su propia personalización.

Textos

Los textos pueden personalizarse sobrescribiendo los valores en un fichero XML de strings.

Name

Value

selphi_component_timeout_title

Tiempo superado

selphi_component_timeout_desc

No hemos podido identificarte. Inténtalo de nuevo

selphi_component_internal_error_title

Hubo un problema técnico

selphi_component_internal_error_desc

Pedimos disculpas. No se ha podido hacer la captura

selphi_component_tip_message

Coloca tu cara en el centro del círculo

selphi_component_tip_message_alt

Coloca tu cara en el centro del círculo

selphi_component_tip_anim_alt

Una persona muestra su cara dentro del círculo y la aplicación le hace una foto.

selphi_component_tip_title

Reconocimiento facial

selphi_component_tip_button

COMENZAR

selphi_component_tip_button_alt

Comenzar captura de rostro

selphi_component_tip_move_message

Coloca tu cara en el centro del círculo y sigue las indicaciones

selphi_component_tip_move_message_alt

Coloca tu cara en el centro del círculo y sigue las indicaciones

selphi_component_tip_move_anim_alt

Una persona muestra su cara dentro del círculo, la mueve ligeramente hacia un lado y la aplicación le hace una foto.

selphi_component_tip_move_title

Reconocimiento facial

selphi_component_tip_move_button

COMENZAR

selphi_component_qr_tip_title

Escanea el código QR

selphi_component_qr_tip_message

Enfoca el código QR dentro del recuadro

selphi_component_qr_tip_anim_alt

Enfoca el código QR dentro del recuadro

selphi_component_qr_tip_button

Comenzar

selphi_component_tip_close_button_alt

Volver

selphi_component_tip_info_button_alt

Ver consejos

selphi_component_tutorial_message_1

Coloca tu cara en el centro y mira de frente a la cámara.

selphi_component_tutorial_message_2

Retira cualquier elemento que cubra tu cara.

selphi_component_tutorial_message_3

Busca un entorno bien iluminado, sin sombras sobre tu rostro.

selphi_component_tutorial_1_anim_alt

La foto se realiza cuando la persona está en el centro.

selphi_component_tutorial_2_anim_alt

Una persona se quita las gafas de sol y se retira el pelo de los ojos.

selphi_component_tutorial_3_anim_alt

La imagen aparece oscura y una persona enciende la luz.

selphi_component_tutorial_close_button_alt

Volver al tutorial previo

Animaciones

Las animaciones Lottie pueden sobrescribirse añadiendo los archivos con el mismo nombre en res/raw/.

Última actualización