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 Android para la captura de documentos.
Este guía ha sido elaborada para ayudarlo a implementar el SDK Android de manera rápida y sencilla. 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 Android.
En este modo de cámara, existe un marco de captura para ayudar al usuario a posicionar correctamente el documento. Después de posicionar el documento de manera 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 documentos:
CPF: Captura del frente del CPF;
CNH: Captura de la CNH abierta;
CNH frente: Captura del frente de la CNH;
CNH verso: Captura del reverso de la CNH;
RG frente: Captura del frente del RG;
RG verso: Captura del reverso del RG;
Otros: Captura de cualquier otro documento.
Cree una instancia del builder (Generado a través de la interfaz IAcessoBioBuilder
), proporcionando como parámetro el contexto en cuestión y la implementación de la clase AcessoBioListener
.
La implementación de esta clase es bastante simple y se puede hacer con pocas líneas de código. Todo lo que necesita hacer es instanciar el builder proporcionando el contexto correspondiente y sobrescribir los métodos de callback con las lógicas de negocio de su aplicación:
Tenga en cuenta que el trabajo de implementación de la clase AcessoBioListener
consiste en gran parte en 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 las lógicas de negocio de su aplicación:
onErrorAcessoBio(ErrorBio errorBio)
Al ser invocado, el método recibe un parámetro del tipo ErrorBio que contiene detalles del error. Infórmese más sobre el tipo ErrorBio
en la sección de tratamiento de errores.
onUserClosedCameraManually()
Este método se invoca siempre cuando el usuario cierra 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).
Puede configurarse 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 cambiar el tiempo máximo de sesión de su usuario al utilizar la funcionalidad de detección facial (Cámara de selfies con captura inteligente). Si el tiempo determinado para capturar la foto se excede, 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 facial de un usuario (sin que nada haya sido detectado). 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 selfies con captura inteligente) es de 13 segundos. Si el usuario tiene dificultades para capturar la foto mediante la detección facial y excede 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á correctamente.
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, que se llama en la siguiente etapa, necesita saber qué hacer cuando logre capturar una imagen con éxito o si ocurre algún error en el proceso. Es necesario especificar "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 configuración de los listeners, puede especificar qué ocurre en su App en situaciones de error (Método onErrorDocument
) o éxito (Método onSuccessDocument
) durante la captura de imágenes.
El siguiente ejemplo ilustra la configuración de los listeners, el build y la apertura de la cámara:
Es necesario crear una instancia del builder a través del método build()
. Este método está disponible a través del objeto generado con la interfaz IAcessoBioBuilder
y la clase AcessoBio
:
El siguiente paso es preparar la cámara utilizando el método prepareDocumentCamera()
con el objeto retornado por el builder (nombrado como UnicoCheckCamera
en el ejemplo anterior).
El método prepareDocumentCamera()
genera un objeto del tipo UnicoCheckCameraOpener.Document
, que se utiliza para abrir la cámara con su método open()
, recibiendo los parámetros del tipo de documento a capturar, siendo estos:
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
Caso precise capturar um documento que não possuímos um frame Si necesita capturar un documento para el cual no tenemos un marco específico (por ejemplo, RNE, entre otros), utilice el marco DocumentCameraType.None
, que le permitirá usar un marco genérico, rectangular, que puede ser utilizado para orientar cualquier captura.
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 app.
Tanto el atributo encrypted
como el atributo base64
pueden enviarse 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 desea saber más, lea el artículo How to convert a Base64 string into a Bitmap image to show it in an ImageView?.
Cuando ocurre un error en la captura de imagen, este método es invocado y retorna un objeto del tipo ErrorBio
:
Infórmese más sobre los tipos de ErrorBio
en la sección de tratamiento de errores del SDK.
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. Infórmese más 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.