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 Web para la captura de selfies.
Esta guía ha sido elaborada para ayudarlo a implementar el SDK Web de manera rápida y fácil. A continuación, verá el paso a paso de todo el proceso de integración. Después de eso, si desea personalizar la experiencia, no olvide consultar la sección de Personalización Web.
Para comenzar, debe realizar 3 pasos simples en su proyecto:
Instancie un nuevo Builder:
Especifique la ruta de los archivos adicionales (en caso de que se hayan agregado a su proyecto):
Especifique la ruta de los archivos de los modelos de IA, en caso de que utilice la funcionalidad de Cámara Inteligente.
A partir de la versión 3.18.0, para que el SDK busque automáticamente los recursos adicionales, basta con que el método setResourceDirectory
no sea implementado y las configuraciones de CSP para el uso del SDK se apliquen correctamente.
Si no se configura, por defecto el SDK Web utiliza el entorno de producción.
Es posible configurar el entorno que se utilizará en la ejecución del SDK. Use el enumerado SDKEnvironmentTypes
, que contiene los siguientes enumerados:
SDKEnvironmentTypes.PROD
: para el entorno de Producción;
SDKEnvironmentTypes.UAT
: para el entorno de Homologación.
Vea cómo implementarlo en el siguiente ejemplo:
Uno de los objetos que debe ser pasado como parámetro al método responsable de renderizar el frame de captura es el de callback. Este objeto deberá contener funciones de callback para los casos de éxito y error, como se ejemplifica a continuación.
Este objeto es obligatorio y, si no se implementa correctamente (cubriendo todos los eventos de éxito o error
), generará una excepción, que, si no se maneja, se mostrará en la consola del usuario.
El atributo encrypted
está destinado estrictamente al envío de la imagen a través de las APIs de by Client. No debe abrirse ni serializarse este atributo, ya que sus características pueden cambiar 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 ningún daño derivado de esta práctica, ya que las modificaciones pueden ocurrir de manera imprevista.
Los archivos base64/encrypted
pueden sufrir variaciones de tamaño debido a diversas variables, entre ellas, la calidad de los dispositivos y las fotos generadas por los mismos, y las reglas de negocio de Unico. Para evitar problemas en su aplicación, no limite en su lógica de programación ni en su infraestructura el tamaño de la cadena generada por el SDK para los archivos.
Para iniciar la cámara con las configuraciones realizadas hasta ahora, es necesario crear una instancia del builder mediante el método build()
.
A continuación, con la cámara "montada", se debe configurar el modo de captura de la cámara.
La preparación de la cámara se realizará a partir del método prepareSelfieCamera()
, disponible a partir del builder. Este método recibe 2 parámetros:
La clase UnicoConfig obtenida en este paso;
El modo de cámara deseado, siendo estos:
SelfieCameraTypes.NORMAL
para el modo de cámara normal;
SelfieCameraTypes.SMART
para el modo de cámara inteligente.
Este método genera una promise que, al resolverse, devuelve un objeto que se utiliza para abrir efectivamente la cámara mediante el método open
, el cual recibe como parámetro las funciones de callback
configuradas en el paso anterior.
Para optimizar la apertura de la cámara, es posible separar las llamadas a los métodos prepareSelfieCamera()
y open()
.
Si desea utilizar la captura automática, pase el parámetro Unico.SelfieCameraTypes.SMART
al método prepareSelfieCamera
.
Para la captura inteligente, los modelos de visión computacional también deben ser cargados mediante el método setModelsPath
, tal como se explicó en el primer paso de esta guía.
Usando la clase UnicoConfig:
Es posible utilizar el SDK Web con Liveness Interactivo incrustado en un iFrame. Para ello, es necesario realizar una implementación similar a la sección anterior en la preparación de la cámara.
La preparación de la cámara se realizará mediante el método prepareSelfieCameraForIFrame()
, también disponible a partir del builder. Este método recibe los mismos parámetros que prepareSelfieCamera()
:
El método prepareSelfieCameraForIFrame()
solo funciona si la implementación está en un iFrame; su uso fuera de un iFrame resulta en el error 73724
. De la misma manera, usar el método prepareSelfieCamera()
dentro de un iFrame también resulta en el error 73724
.
Para que la captura funcione correctamente, es necesario implementar el elemento <iframe>
como en el siguiente ejemplo:
Para realizar la captura, es necesario estar en modo pantalla completa en el navegador para que el SDK pueda redimensionarse automáticamente. Por lo tanto, al realizar la captura, el SDK mostrará una pantalla solicitando la apertura del frame en modo pantalla completa. Vea el siguiente ejemplo:
Después de permitir el uso de pantalla completa, el frame de captura se abrirá normalmente:
Apple impide el uso de APIs de pantalla completa específicamente en iPhones (iPads son aceptables). Por lo tanto, para capturas en iPhones, es necesario configurar el posicionamiento del iFrame por cuenta propia.
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 motivos de seguridad, el intervalo entre la generación del encrypted
y el envío a través de uno de los flujos disponibles debe ser de un máximo de 10 minutos. Los envíos realizados después de este período serán rechazados automáticamente por la API.
¿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.