Captura de documento
En esta sección, encontrarás toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en tus aplicaciones iOS para la captura de documentos.
Atualizado
Isto foi útil?
En esta sección, encontrarás toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en tus aplicaciones iOS para la captura de documentos.
Atualizado
Isto foi útil?
Este guía ha sido elaborada para ayudarte a implementar el SDK iOS de manera rápida y sencilla. A continuación, verás el paso a paso de todo el proceso de integración. Después de eso, si deseas personalizar la experiencia, no olvides consultar la sección Personalización iOS.
En este modo de cámara, existe un marco de captura para ayudar al usuario a colocar el documento correctamente. Después de colocar el documento en la posición correcta, el usuario debe hacer clic en el botón para realizar la captura de la foto del documento.
El SDK no realiza ningún tipo de validación sobre lo que se está capturando.
En este modo de cámara, es posible capturar los siguientes documentos:
RG: Captura del RG (separado en frente y reverso);
CNH: Captura de la CNH abierta;
CNH frente: Captura del frente de la CNH;
CNH reverso: Captura del reverso de la CNH;
CPF: Captura del documento de CPF;
Sin silueta: Captura de documento genérico.
Para comenzar con el SDK iOS de la plataforma Unico IDCloud, importa el SDK e implementa la interfaz AcessoBioManagerDelegate
dentro del ViewController que deseas utilizar.
La implementación de esta clase es bastante simple y puede realizarse con pocas líneas de código. Todo lo que necesitas hacer es instanciar el builder, indicando el contexto en cuestión, y sobrescribir los métodos de callback con las lógicas de negocio de tu aplicación:
Ten en cuenta que, como en el ejemplo anterior, el trabajo de implementación de la interfaz AcessoBioManagerDelegate
es, en su mayoría, la configuración de los métodos de callback. Cada método se llama en una situación específica de retorno del SDK.
Basta sobrescribir los métodos ejemplificados en el paso anterior con las lógicas de negocio de tu aplicación:
onErrorAcessoBioManager(_ error: ErrorBio!)
Este método se invoca cuando ocurre cualquier error de implementación al utilizar alguno de los métodos, como por ejemplo, al informar un tipo de documento incorrecto para la funcionalidad de captura de documentos.
Al ser invocado, el método recibe un parámetro del tipo ErrorBio
que contiene detalles sobre el error. Infórmate más sobre el tipo ErrorBio
en el artículo de tratamiento de errores de este SDK.
onUserClosedCameraManually()
Este método se invoca siempre cuando el usuario cierre la cámara de forma manual, como por ejemplo, al hacer clic en el botón "Volver".
onSystemClosedCameraTimeoutSession()
Este método se invoca tan pronto como se alcanza el tiempo máximo de sesión (sin capturar ninguna imagen).
Se puede configurar en el builder a través del método setTimeoutSession. Este método debe recibir el tiempo máximo de la sesión en segundos. Es posible alterar el tiempo máximo de sesión de tu usuario al utilizar la funcionalidad de detección facial (Cámara de selfie con captura inteligente). Si se supera el tiempo determinado en tu proceso para capturar la foto, puedes mostrar algún mensaje personalizable o instrucción al usuario. El valor predeterminado es de 40 segundos y su valor mínimo también es de 40 segundos.
onSystemChangedTypeCameraTimeoutFaceInference()
Este método se invoca tan pronto como se alcanza el tiempo máximo para la detección del rostro de un usuario (sin haber detectado nada). En este caso, el modo de cámara se cambia automáticamente al modo de captura manual (sin el contorno de captura inteligente).
El tiempo máximo de captura al utilizar la detección del rostro (Cámara de selfie con captura inteligente) es de 13 segundos. Si el usuario tiene alguna dificultad para capturar la foto a través de la detección del rostro y supera el tiempo determinado en su proceso, la captura se cambia automáticamente a modo manual, con el objetivo de facilitar la acción para el usuario (TimeoutToFaceInference).
Todos los métodos anteriores deben ser creados de la manera indicada en tu proyecto (incluso sin ninguna lógica). De lo contrario, el proyecto no se compilará correctamente.
El método de apertura de la cámara (que se llama en el siguiente paso) necesita saber qué hacer cuando se capture una imagen con éxito o cuando ocurra un error en el proceso. Se informa "qué hacer" al método de apertura de la cámara a través de la configuración de delegados que se llaman en situaciones de éxito o error.
A través de la configuración de los delegados, puedes especificar lo que ocurre en tu aplicación en situaciones de error (método onErrorDocument
) o éxito (método onSuccessDocument
) al capturar imágenes.
Para la configuración de los delegados, debes implementar las interfaces DocumentCameraDelegate
y AcessoBioDocumentDelegate
:
onSucessDocument
Al realizar una captura de imagen con éxito, este método se invoca y retorna un objeto del tipo ResultCamera
, que se utiliza posteriormente en la llamada a las APIs REST.
El objeto ResultCamera
retorna 2 atributos: base64
y encrypted
:
El atributo base64
puede ser utilizado si deseas mostrar una vista previa de la imagen en tu app;
Tanto el atributo encrypted
como el atributo base64
pueden ser enviados en la llamada a las APIs REST.
Si es necesario convertir el base64 a bitmap, el método estándar no funciona para Android. Es necesario realizar el split a partir de la coma (,) para que funcione. Si deseas saber más, lee el artículo How to convert a Base64 string into a Bitmap image to show it in an ImageView?.
onErrorDocument
Cuando ocurre un error en la captura de la imagen, este método se invoca y retorna un objeto del tipo ErrorBio
.
Infórmate más sobre los tipos de ErrorBio
en la sección de tratamiento de errores del SDK.
Para abrir la cámara, es necesario prepararla utilizando el método prepareDocumentCamer
a. Este método recibe como parámetro la implementación de la clase DocumentCameraDelegate
y el JSON con las credenciales, generado en la etapa anterior.
Quando a câmera estiver preparada, o evento onCameraReadyDocument
é disparado, que recebe como parâmetro um objeto do tipo AcessoBioCameraOpenerDelegate
.
Você deve sobrescrever este método, efetuando a abertura da câmera com o objeto recebido através do método openDocument()
, recebendo os parâmetros tipo de documento a ser capturado, sendo eles:
DocumentCameraType.CPF
Marco para captura del frente del CPF
DocumentCameraType.CNH
Marco para captura de la CNH abierta
DocumentCameraType.CNH_FRENTE
Marco para captura del frente de la CNH
DocumentCameraType.CNH_VERSO
Marco para captura del reverso de la CNH
DocumentCameraType.RG_FRENTE
Marco para captura del frente del RG
DocumentCameraType.RG_VERSO
Marco para captura del reverso del RG
DocumentCameraType.None
Marco para captura de cualquier otro documento
En caso de que necesites capturar un documento para el cual no tengamos un marco específico (por ejemplo, RNE, entre otros), utiliza el marco DocumentEnums.none
, que te permitirá usar un marco genérico, rectangular, que puede ser utilizado para orientar cualquier captura.
Los delegados implementados anteriormente (aquí descritos como Self):
O tipo ErrorPrepare
é uma extensão de ErrorBio
contendo assim todas as suas propriedades. Saiba mais sobre o tipo ErrorBio
na seção de tratamiento de errores do SDK.
Caso ocorra algum erro ao preparar a câmera, o evento onCameraFailedDocument
é disparado. Você deve implementar este método aplicando as regras de negócio de seu App.
Em caso de sucesso, o evento onSuccessDocument
é disparado, conforme explicado na seção acima.
A captura das imagens é apenas a primeira parte da jornada. Após capturar a imagem, é necessário enviar o base64
gerado pelo SDK para as APIs REST do by Client. Saiba mais na seção Creación de proceso.
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.