Subida de ficheros y gestión de QR
La captura de documentos y la lectura y generación de QRs se realizan con el CaptureComponent.
Este componente permitirá la subida de documentos realizando una foto con la cámara del dispositivo o desde galeria.
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
Actualmente las librerías de Facephi se distribuyen de forma remota a través de diferentes gestores de dependencias, en este caso Cocoapods. Las dependencias obligatorias que deberán haberse instalado previamente (añadiéndolas en el fichero Podfile del proyecto) son:
pod 'FPHISDKMainComponent', '~> 2.4.0'Para instalar el componente de Captura deberá incluirse la siguiente entrada en el Podfile de la aplicación:
pod 'FPHISDKCaptureComponent', '~> 2.4.0'SPM
Las dependencias obligatorias que deberán haberse instalado previamente son:
//HTTPS
https://github.com/facephi-clienters/SDK-SdkPackage-SPM.git
//SSH
git@github.com:facephi-clienters/SDK-SdkPackage-SPM.gitPara instalar el componente de Selphid deberá incluirse en los módulos del proyecto:
Controladores disponibles
Controlador
Descripción
FileUploaderController
Controlador para la captura de documentos
QrReaderController
Controlador para la captura de QRs
QrGeneratorController
Controlador para la generación de QRs
Lanzamiento simplificado
Una vez iniciado el SDK y creada una nueva operación se podrá lanzar el componente. Se podrá hacer uso de cualquiera de sus controladores para ejecutar su funcionalidad.
Lanzamiento de la captura de documentos:
Lanzamiento de la captura de QR:
Lanzamiento de la generación de QR:
Configuración básica
Para los controladores de captura de componentes y captura de QR se puede generar la configuración con los parámetros por defecto. Para el caso de la geneación del QR se necesitará el texto que se va a utilizar:
Recepción del resultado
El lanzamiento devolverá la información en formato SdkResult.
errorType
finishStatus
data
Recepción de errores
Los errores se devolverán como un objeto 'CaptureError'.
Listado de errores:
CAP_ACTIVITY_RESULT_MSG_ERROR: El resultado devuelto por la actividad es incorrecto o no contiene la información necesaria para continuar.
CAP_APPLICATION_CONTEXT_ERROR: El contexto de aplicación requerido es nulo o no válido, impidiendo inicializar correctamente el módulo de captura.
CAP_CAMERA_ERROR: Ha ocurrido un error interno relacionado con la cámara del dispositivo (fallo de apertura, inicialización o captura).
CAP_CAMERA_PERMISSION_DENIED: El usuario ha denegado los permisos necesarios para acceder a la cámara.
CAP_CANCEL_BY_USER: El usuario ha cancelado manualmente el proceso de captura.
CAP_CANCEL_LAUNCH: El proceso ha sido cancelado de forma general por el SDK o por una acción externa.
CAP_COMPONENT_LICENSE_ERROR: La licencia del componente no es válida, ha expirado o no coincide con la configuración requerida.
CAP_EMPTY_LICENSE: La cadena de licencia está vacía o no se ha proporcionado.
CAP_FETCH_DATA_ERROR: Se ha producido un error al obtener o procesar los datos necesarios para ejecutar el flujo. (Incluye información adicional en el campo
error.)CAP_FLOW_ERROR: Se ha producido un error interno durante la ejecución del flujo de captura. (Incluye información adicional en el campo
error.)CAP_INITIALIZATION_ERROR: Error al inicializar los componentes necesarios del SDK. (Incluye información detallada en el campo
error.)CAP_FILE_UPLOADER_CAPTURE_ERROR: Error durante el proceso de subida de los archivos generados en la captura.
CAP_MANAGER_NOT_INITIALIZED: Los managers necesarios para ejecutar el proceso no han sido inicializados correctamente.
CAP_NO_DATA_ERROR: Los datos de entrada requeridos son nulos, inexistentes o insuficientes para continuar el proceso.
CAP_OPERATION_NOT_CREATED: No se ha podido crear o recuperar una operación activa necesaria para continuar. (Incluye información detallada en el campo
error.)CAP_QR_CAPTURE_ERROR: Error durante la captura o lectura del código QR.
CAP_QR_GENERATION_ERROR: Error al generar el código QR solicitado.
CAP_TIMEOUT: Se ha alcanzado el tiempo máximo permitido en alguna de las fases del proceso.
CAP_FLOW_VIDEO_RECORDING_ERROR: Error durante la grabación de vídeo dentro del flujo establecido.
CAP_FLOW_TRACKING_ERROR: Error al realizar el tracking necesario para completar el flujo de captura.
Recepción del resultado correcto - data
Recepción del resultado de la captura de documentos
En la parte de SdkResult.Success - data, dispondremos de la clase FileUploaderResult.
Los campos devueltos en el resultado son los siguientes:
capturedDocumentList
Listado de ficheros capturados. Pueden ser imágenes o PDFs. Los campos devueltos de cada uno son:
mimeType
timestampMillis
content: Contenido del documento. Será diferente si es una imagen o un documento PDF.
Recepción del resultado de la captura de QR
En la parte de SdkResult.Success - data, dispondremos de la clase QrResult.
Los campos devueltos en el resultado son los siguientes:
qrText
Texto obtenido del QR
Recepción del resultado de la generación de QR
En la parte de SdkResult.Success - data, dispondremos de una SdkImage con el QR creado.
Información avanzada
Este apartado amplía la información del componente.
Configuración avanzada del componente
Configuración de la captura de documentos
Para lanzar el componente actual, se deberá crear un objeto FileUploaderConfigurationData que será la configuración del controlador del componente.
A continuación se detallan todos los campos que forman parte de esta clase.
vibrationEnabled: Indica la activación de la vibración cuando el widget termine satisfactoriamente.extractionTimeout: Establece el tiempo máximo que se puede realizar la captura.showDiagnostic: Mostrar pantallas de diagnóstico al final del proceso.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.maxScannedDocs: Número máximo de documentos que se podrán capturarallowGallery: Se habilita el acceso a la galería para la obtención de imágenes o PDFs
Configuración de la captura de QR
Para lanzar el componente actual, se deberá crear un objeto QrCaptureConfigurationData que será la configuración del controlador del componente.
A continuación se detallan todos los campos que forman parte de esta clase.
vibrationEnabled: Indica la activación de la vibración cuando el widget termine satisfactoriamente.extractionTimeout: Establece el tiempo máximo que se puede realizar la captura.showDiagnostic: Mostrar pantallas de diagnóstico al final del proceso.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.cameraShape: Permite elegir entre una máscara cuadrada y una redonda.
Personalización del componente
Aparte de los cambios que se pueden realizar a nivel de SDK (los cuales se explican en el documento de Ajustes avanzados), este componente en concreto permite la modificación de su interfaz.
Textos
Si se desea modificar los textos de la SDK habría que incluir el siguiente fichero XML en la aplicación del cliente, y modificar el valor de cada String por el deseado.
Animaciones
Si se desea modificar las animaciones (lottie) de la SDK habría que incluir las animaciones con el mismo nombre en la carpeta res/raw/ de la aplicación.
Last updated