Captura de documento
En esta sección, encontrará toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en sus aplicaciones Flutter para la captura de documentos.
Atualizado
Isto foi útil?
En esta sección, encontrará toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en sus aplicaciones Flutter para la captura de documentos.
Atualizado
Isto foi útil?
Esta guía ha sido elaborada para ayudarlo a implementar el SDK Flutter de manera rápida y fácil. A continuación, vea el paso a paso de todo el proceso de integración. Después de eso, si desea personalizar la experiencia, no deje de consultar la sección Personalización Flutter.
En este modo de cámara, existe un marco de captura para ayudar al usuario a posicionar correctamente el documento. Después de colocar el documento de forma correcta, el usuario debe hacer clic en el botón para capturar 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:
CPF: Captura del anverso del CPF;
CNH: Captura de la CNH abierta;
CNH frente: Captura del anverso de la CNH;
CNH verso: Captura del reverso de la CNH;
RG frente: Captura del anverso del RG;
RG verso: Captura del reverso del RG;
Outros: Captura de cualquier otro documento.
Para comenzar, cree una instancia del builder (generado a través de la interfaz UnicoCheckBuilder
), proporcionando como parámetro el contexto en cuestión y la implementación de la clase UnicoListener
.
La implementación de esta clase es bastante sencilla y puede realizarse con unas pocas líneas de código. Todo lo que necesita hacer es sobrescribir los métodos de callback con la lógica de negocio de su aplicación.
Tenga en cuenta que, como en el ejemplo anterior, el trabajo de implementación de la clase UnicoListener es, en gran parte, 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 con sobrescribir los métodos ejemplificados en el paso anterior con la lógica de negocio de su aplicación:
onErrorUnico(UnicoError error)
Al ser invocado, el método recibe un parámetro del tipo UnicoError
que contiene detalles del error. Obtenga más información sobre el tipo UnicoError
en la sección de tratamiento de errores del SDK.
onUserClosedCameraManually()
Este método se invoca siempre cuando el usuario cierra la cámara manualmente, 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 mediante el método setTimeoutSession. Este método debe recibir el tiempo máximo de la sesión en segundos. Es posible modificar el tiempo máximo de sesión del usuario al utilizar la funcionalidad de detección facial (Cámara de selfie con captura inteligente). Si supera el tiempo determinado en su proceso para capturar la foto, puede mostrar un mensaje personalizable o una 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 la silueta de captura inteligente).
El tiempo máximo de captura al utilizar la detección facial (Cámara de selfie con captura inteligente) es de 13 segundos. Si el usuario tiene dificultades para capturar la foto a través de la detección facial y supera el tiempo determinado en su proceso, la captura se cambia automáticamente a manual, con el objetivo de facilitar la acción para el usuario (TimeoutToFaceInference).
Todos los métodos anteriores deben ser creados de la forma indicada en su proyecto (aunque sin ninguna lógica). De lo contrario, el proyecto no se compilará con éxito.
La implementación de estos métodos listeners debe hacerse a través de una instancia de la clase iAcessoBioSelfie
.
El método de apertura de la cámara necesita saber qué hacer cuando consiga capturar una imagen o cuando ocurra algún error en el proceso. Se le indica "qué hacer" al método de apertura de la cámara mediante la implementación de listeners, que se llaman en situaciones de éxito o error.
A través de la implementación de los listeners, puede especificar lo que sucede en su aplicación en situaciones de error (método onErrorDocument
) o de éxito (método onSuccessDocument
) en la captura de imágenes.
onSucessDocument
Al realizar una captura de imagen con éxito, este método es invocado 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 desea mostrar una vista previa de la imagen en su aplicación;
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 en Android. Es necesario realizar el split a partir de la coma (,) para que funcione. Si desea saber más, lea el artículo: How to convert a Base64 string into a Bitmap image to show it in an ImageView?
onErrorDocument
Cuando ocurre algún error en la captura de la imagen, este método es invocado y retorna un objeto del tipo UnicoError
:
Obtenga más información sobre los tipos de ErrorBio
en la sección de tratamiento de errores del SDK.
Para abrir la cámara, se utiliza el método openCameraDocument(). Este método está disponible a través del objeto generado con una instancia de la clase UnicoCheck.
Este método recibe los siguientes parámetros:
Archivo JSON con las credenciales, generado en el paso de configuración de credenciales;
Listeners configurados anteriormente;
Tipo de documento a capturar, siendo los siguientes:
DocumentCameraTypes.CPF
Marco para captura del anverso del CPF
DocumentCameraTypes.CNH
Marco para captura de la CNH abierta
DocumentCameraTypes.CNH_FRENTE
Marco para captura del anverso de la CNH
DocumentCameraTypes.CNH_VERSO
Marco para captura del reverso de la CNH
DocumentCameraTypes.RG_FRENTE
Marco para captura del anverso del RG
DocumentCameraTypes.RG_VERSO
Marco para captura del reverso del RG
DocumentCameraTypes.OUTROS("descrição")
Marco para captura de cualquier otro documento
En caso de que necesite capturar un documento para el cual no contamos con un marco específico (por ejemplo: RNE, entre otros), utilice el marco DocumentCameraTypes.OUTROS("descripción")
, que le permitirá utilizar un marco genérico, rectangular, que puede ser usado para guiar cualquier tipo de captura.
Ejemplo para captura de CNH:
La captura de las imágenes es solo la primera parte del proceso. Después de capturar la imagen, es necesario enviar el base64 generado por el SDK a las APIs REST. Obtenga más información en la sección 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.