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
iaden 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"
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.
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.NONESelphiFaceLivenessMode.PASSIVESelphiFaceLivenessMode.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
templateRawPlantilla en bruto generada tras la extracción. Válida para procesos de matching.templatePlantilla procesada tras la extracción. Válida para procesos de matching.bestImageMejor 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.bestImageCroppedImagen recortada centrada en la cara del usuario. Se obtiene a partir de la bestImage.logImagesLista con las 5 mejores imágenes (requierelogImages = true).bestImageTokenizedMejor imagen cifrada del proceso. Válida para el proceso de liveness.bestImageTokenizedMejor imagen cifrada del proceso. Válida para el proceso de liveness.iadInformación obtenida en el análisis de ataques de inyección de vídeo preparada para su envío al servicio de verificación.livenessDiagnosticInformació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
resourcesPathNombre del archivo ZIP de recursos (ubicado enassets). Ejemplo: “resources-selphi-2-0.zip“.

cropPercentPorcentaje de recorte de la cara. Cuanto mayor sea el número mayor será el recorte del rectángulo con respecto a la cara.cropImageDebugMuestra información de depuración del recorte.showResultAfterCaptureMuestra 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.showTutorialActiva la pantalla de tutorial. Se explica de forma intuitiva cómo se realiza la captura.livenessModeModo 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.
stabilizationModeObliga al usuario a mantener la cabeza estable antes de capturar, mirando al frente y sin mover la cabeza.cameraFlashEnabledActiva el flash de la cámara.fullscreenPrioriza la visualización a pantalla completa.templateRawOptimizedOptimiza eltemplateRawgenerado.qrModeActiva la lectura de QR previa al proceso de autenticación.videoFilenameRuta 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.viewsContentConfiguración avanzada de vistas mediante XML. Esta propiedad no altera el contenido del archivo de recursos.showDiagnosticMuestra pantallas de diagnóstico.logImagesDevuelve las 5 mejores imágenes capturadas.showPreviousTipMuestra una pantalla informativa previa a la captura.extractionDurationDuración del proceso de extracción.cameraPreferredCámara preferida (FRONT,BACK).vibrationEnabledFeedback de vibración al finalizar.moveSuccessfulAttemptsReintentos permitidos en capturas correctas (por defecto 1).moveFailedAttemptsReintentos 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