Capture Component
0. Requisitos base de SDK Mobile
SDK Mobile es un conjunto de librerías (Componentes) que ofrece una serie de funcionalidades y servicios, permitiendo a su vez su integración en una aplicación Mobile de forma sencilla y totalmente escalable. Dependiendo del caso de uso que se requiera, se deberá realizar la instalación de unos determinados componentes. Su alto nivel de modularidad permite que, en un futuro, se puedan añadir otros componentes nuevos sin afectar en absoluto a los ya integrados en el proyecto.
Para más información sobre la configuración base, vaya a la sección de Primeros Pasos.
1. Introducción
El Componente tratado en el documento actual recibe el nombre de Capture Component. Éste se encarga de realizar la captura de facturas y la captura y generación de QRs.
1.1 Requisitos mínimos
La versión mínima de la SDK de iOS requerida es la siguiente:
Versión mínima de iOS: 14
2. Integración del componente
⚠️ Antes de integrar este componente se recomienda leer la documentación de Integración Inicial y seguir las instrucciones indicadas en dicho documento.
En esta sección se explicará paso a paso cómo integrar el componente actual en un proyecto ya existente.
2.1. Dependencias requeridas para la integración
⚠️ 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.3.0'
- Para instalar el componente de VideoID deberá incluirse la siguiente entrada en el Podfile de la aplicación:
pod 'FPHISDKCaptureComponent', '~> 2.3.0'
-
Una vez instaladas las dependencias, se podrá hacer uso de las diferentes funcionalidades del componente.
-
En caso de realizar el desarrollo con XCode15 se deberá incluir un script de post-instalacion:

2.2 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
Es necesario permitir el uso de la cámara (Privacy - Camera Usage Description)
3. Iniciar nueva operación
Cuando se desea realizar una determinada operación, para generar la información asociada correctamente en la plataforma deberá ejecutarse previamente el comando newOperation.
ℹ️ Este comando debe haberse ejecutado anteriormente al lanzamiento del componente.
Para saber más acerca de cómo iniciar una nueva operación, se recomienda consultar la documentación de Iniciar nueva operación, en el que se detalla y explica en qué consiste este proceso.
4. Controladores disponibles
| Controlador | Descripción |
|---|---|
| InvoiceReaderController | Controlador para la captura de facturas |
| QrReaderController | Controlador para la captura de QRs |
| QrGeneratorController | Controlador para la generación de QRs |
5. Configuración del componente
Los tres controladores tienen funcionalidades independientes por lo que sus configuraciones también lo son:
-
InvoiceCaptureConfigurationData y pasarlo como parámetro al SDKController durante el lanzamiento del componente para Invoice.
-
QrCaptureConfigurationData y pasarlo como parámetro al SDKController durante el lanzamiento del componente de captura de QR
-
QrGeneratorConfiguration y pasarlo como parámetro al SDKController durante el lanzamiento del componente para generación de QRs.
En el siguiente apartado se mostrarán los campos que forman parte de estas clased y para qué se utiliza cada uno de ellos.
5.1. Class InvoiceCaptureConfigurationData
5.1.1 vibrationEnabled
Habilitar vibración durante el proceso
5.1.2 showDiagnostic
Mostrar pantallas de diagnóstico al final del proceso y en caso de error
5.1.3 showTutorial
Indica si el componente activa la pantalla de tutorial. En esta vista se explica de forma intuitiva cómo se realiza la captura.
5.1.4 timePreview
Se define el tiempo en milisegundos que dura la preview tras la captura, por defecto está en 2000
5.1.6 previewAfterCapture
Se habilita la preview tras la captura
5.1.7 maxScannedDocs
Número máximo de documentos capturados
5.1.8 showPreviousTip
Mostrar la pantalla de Tips previos
5.1.9 autoCapture
Habilitar la captura automática
5.2. Class QrCaptureConfigurationData
5.2.1. extractionTimeout
Tiempo de extracción máximo
5.2.2. cameraSelected
Cámara seleccionada: FRONT, BACK
5.2.3. cameraShape
Forma de la máscara que se quiere mostrar sobre la cámara:
- SQUARE: Cuadrado
- CIRCULAR: Círculo
- RECTANGLE_TALL: Rectángulo
5.2.4. vibrationEnabled
Habilitar vibración durante el proceso
5.2.5. showStroke
Mostrar una línea como borde de la cámara
5.2.6. showDiagnostic
Mostrar pantallas de diagnóstico al final del proceso y en caso de error
5.2.7. transparentBackground
Máscara sobre la cámara semitransparente
5.3. Class QrGeneratorConfiguration
5.3.1. source
Texto que se va a incluir en el QR
5.3.2. width
Ancho del QR generado