Captura de Selfie
Nesta seção, você encontrará todas as informações necessárias para o uso e integração do SDK da plataforma Unico IDCloud em seus aplicativos Flutter para a captura da selfie
Este 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.
Inicializar el SDK
Para comenzar, cree una instancia del builder (generado a través de la interfaz UnicoCheckBuilder
), proporcionando como parámetro el contexto y el entorno en cuestión, así como la implementación de la clase UnicoListener
.
La implementación de esta clase es bastante sencilla y se puede hacer con unas pocas líneas de código. Todo lo que necesita hacer es sobrescribir los métodos de callback con las lógicas de negocio de su aplicación.
Configuración de entornos
Configure el entorno que será utilizado en la ejecución del SDK. Utilice el enumerado Environment que contiene los siguientes valores:
UnicoEnvironment.PROD
: para el entorno de Producción;UnicoEnvironment.UAT
: para el entorno de Homologación.
Vea cómo implementarlo en el ejemplo a continuación:
Implementar las funciones de callback
Tenga en cuenta que, como en el ejemplo anterior, el trabajo de implementación de la clase UnicoListener es, en su mayoría, la configuración de los métodos de callback. Cada método será llamado 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 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 el documento 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 a través del 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 de su 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 detectar 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 mediante 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 manera indicada en su proyecto (aunque sin ninguna lógica). De lo contrario, el proyecto no se compilará con éxito.
Configurar el modo de cámara
El SDK tiene configurado y habilitado por defecto el encuadre inteligente y la captura automática. Por lo tanto, debe configurar el modo de cámara en su builder de la siguiente manera:
Los valores false/true de los métodos anteriores no alteran la experiencia de captura, solo sirven para la lógica interna del funcionamiento del SDK.
Implementar listeners para eventos de la cámara
La implementación de estos métodos listeners debe hacerse a través de una instancia de la clase UnicoSelfie
.
El método de apertura de la cámara necesita saber qué hacer al conseguir capturar una imagen o al tener 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 son llamados 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 onErrorSelfie
) o éxito (método onSuccessSelfie
) en la captura de imágenes.
Método onSucessSelfie
onSucessSelfie
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;El atributo
encrypted
debe ser enviado en la llamada a las APIs REST.
El atributo
encrypted
está destinado estrictamente al envío de la imagen a través de las APIs del cliente. No se debe abrir ni serializar este atributo, ya que sus características pueden ser modificadas sin previo aviso. Su uso debe ser exclusivo en las interacciones con las APIs para garantizar la integridad y seguridad de los datos. Unico no se hace responsable de los daños derivados de esta práctica, ya que las modificaciones pueden ocurrir de manera imprevista.Los archivos
base64/encrypted
pueden variar en tamaño según diversas variables, entre ellas, la calidad de los dispositivos y las fotos generadas por estos, así como las reglas de negocio de Unico. Para evitar problemas en su aplicación, no limite en su lógica de programación o infraestructura el tamaño de la cadena generada por el SDK para los archivos.
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?
Método onErrorSelfie
onErrorSelfie
Cuando ocurre un 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.
Preparar y abrir la cámara
El método openCameraSelfie
se utiliza para abrir la cámara. Este método recibe como parámetro la implementación de la clase UnicoSelfie
y el JSON con las credenciales, generado en el paso anterior.
El siguiente ejemplo ilustra los pasos de configuración de los listeners y apertura de la cámara:
Realizar una solicitud POST en la API REST del cliente
La captura de las imágenes es solo la primera parte del proceso. Después de capturar la imagen, es necesario enviar el encrypted
generado por el SDK a las APIs REST. Obtenga más información en la sección Creación de proceso.
Por razones de seguridad, el intervalo entre la generación del encrypted
y el envío a través de uno de los flujos disponibles no debe ser superior a 10 minutos. Los envíos realizados después de este período serán rechazados automáticamente por la API.
¿Dudas?
¿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.
Atualizado
Isto foi útil?