Captura de Selfie

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 iOS para la captura de selfies.


Esta guía ha sido elaborada para ayudarlo a implementar el SDK iOS de forma rápida y fácil. A continuación, verá el paso a paso de todo el proceso de integración. Después de esto, si desea personalizar la experiencia, no deje de consultar la sección Personalización iOS.

Inicializar el SDK


Para comenzar con el SDK iOS de Unico Check, importe el SDK e implemente la interfaz AcessoBioManagerDelegate dentro del ViewController en el que desea utilizarlo.

La implementación de esta clase es bastante simple y puede realizarse con pocas líneas de código. Solo necesita instanciar el builder proporcionando el contexto y el entorno en cuestión, y sobrescribir los métodos de callback con las lógicas de negocio de su aplicación:

.m:
#import "ViewController.h"
#import <AcessoBio/AcessoBio.h>

@implementation ViewController: UIViewController
- (void)viewDidLoad {
    [super viewDidLoad];  
    unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];
}

- (void)onErrorAcessoBioManager:(ErrorBio *)error {
  // your code
}

- (void)onSystemChangedTypeCameraTimeoutFaceInference {
  // your code
}

- (void)onSystemClosedCameraTimeoutSession {
  // your code
}

- (void)onUserClosedCameraManually {
  // your code
}
@end

Configuración de entornos


Configure el entorno que se utilizará durante la ejecución del SDK. Utilice el enumerado Environment que contiene los siguientes valores:

  • PROD: para entorno de Producción;

  • UAT: para entorno de Homologación.

Vea cómo implementarlo en el siguiente ejemplo:

 [unicoCheck setEnvironment:UAT];

Implementar las funciones de callback


Tenga en cuenta que, conforme al ejemplo anterior, el trabajo de implementación de la interfaz AcessoBioManagerDelegate consiste en gran parte en configurar los métodos de callback. Cada método es llamado en una situación específica del retorno del SDK.

Basta con sobrescribir los métodos ejemplificados en el paso anterior con la lógica de negocio de su aplicación:

1

onErrorAcessoBioManager(_ error: ErrorBio!)

Este método es invocado cuando ocurre cualquier error de implementación al utilizar alguno de los métodos, como por ejemplo, al proporcionar un tipo de documento incorrecto para la funcionalidad de captura de documentos.

Al ser invocado, el método recibirá un parámetro del tipo ErrorBio que contiene detalles del error. Obtenga más información sobre el tipo ErrorBio en el artículo de tratamiento de errores de este SDK.

2

onUserClosedCameraManually()

Este método se invoca siempre que el usuario cierre la cámara manualmente, como por ejemplo, al hacer clic en el botón "Volver".

3

onSystemClosedCameraTimeoutSession()

Este método se invoca tan pronto como se alcance el tiempo máximo de sesión (sin capturar ninguna imagen).

4

onSystemChangedTypeCameraTimeoutFaceInference()

Este método se invoca tan pronto como se alcance el tiempo máximo para la detección facial de un usuario (sin que se haya 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).

Configurar el modo de cámara


El SDK tiene configurado y habilitado por defecto el encuadre inteligente y la captura automática. Debido a esto, se debe configurar el modo de cámara en su builder de la siguiente manera:

.m:
- (IBAction)configureSmartCamera:(UIButton *)sender {
   // Objeto unicoCheck da classe AcessoBioManager
   [unicoCheck setSmartFrame:true];
   [unicoCheck setAutoCapture:true];
}

Implementar delegados para eventos de la cámara


El método de apertura de la cámara necesita saber qué hacer al conseguir capturar una imagen con éxito o al tener algún 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 son llamados en situaciones de éxito o error.

A través de la configuración de los delegados, puedes especificar qué sucede en tu aplicación en situaciones de error (método onErrorSelfie) o éxito (método onSuccessSelfie) en la captura de imágenes.

Para la configuración de los delegados, debes implementar las interfaces SelfieCameraDelegate y AcessoBioSelfieDelegate:

.h:
#import <UIKit/UIKit.h>
#import <AcessoBio/AcessoBio.h>
#import "SelfieCameraDelegate.h"

@interface ViewController: UIViewController <AcessoBioManagerDelegate, SelfieCameraDelegate,
   AcessoBioSelfieDelegate> {
  AcessoBioManager *unicoCheck;
  // Your code from previous and next steps here
}

Método onSuccessSelfie


Al realizar una captura de imagen con éxito, este método es invocado y retorna un objeto del tipo SelfieResult, que se utiliza posteriormente en la llamada a las APIs REST.

- (void)onSuccessSelfie:(SelfieResult *)result {
    NSLog(@"%@", result.base64);
} 

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;

  • El atributo encrypted debe ser enviado en la llamada a las APIs REST.

Método onErrorSelfie


Cuando ocurre un error en la captura de la imagen, este método es invocado y retorna un objeto del tipo ErrorBio:

- (void)onErrorSelfie:(ErrorBio *)errorBio {
  // Your code
}

Infórmate más sobre los tipos de ErrorBio en la sección de tratamiento de errores del SDK.

Configurar entornos


Si no se configura, el SDK utiliza el entorno configurado a través del archivo de configuración (getHostKey). Si no se está utilizando getHostKey, se devuelve un error.

Es posible configurar el entorno que se utilizará en la ejecución del SDK. Utiliza el enumerado EnvironmentEnum, que contiene los siguientes valores:

  • EnvironmentEnum.PROD: para el entorno de Producción

  • EnvironmentEnum.UAT: para el entorno de Homologación

Mira cómo implementarlo en el siguiente ejemplo:

[unicoCheck setEnvironment:PROD];

Preparar y abrir la cámara


Para continuar con la apertura de la cámara, primero debes prepararla utilizando el método prepareSelfieCamera. Este método recibe como parámetro la implementación de la clase SelfieCameraDelegate y el JSON con las credenciales, generado en la etapa anterior.

.h:
#import <UIKit/UIKit.h>
#import <AcessoBio/AcessoBio.h>
#import "SelfieCameraDelegate.h"

@interface ViewController: UIViewController <AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate> {
    AcessoBioManager *unicoCheck;
}

.m:
- (IBAction)openCamera:(UIButton *)sender {
    [[unicoCheck build] prepareSelfieCamera:self config:[YourUnicoConfigClass new]];
}

Cuando la cámara esté preparada, el evento onCameraReady se dispara y recibe como parámetro un objeto del tipo AcessoBioCameraOpenerDelegate.

Debes sobrescribir este método, realizando la apertura de la cámara con el objeto recibido a través del método open():

- (void)onCameraReady:(id)cameraOpener {
    [cameraOpener open:self];
}

- (void)onCameraFailed:(ErrorPrepare *)message {
    // Your code
}

El tipo ErrorPrepare es una extensión de ErrorBio, por lo que contiene todas sus propiedades. Infórmate más sobre el tipo ErrorBio en la sección de tratamiento de errores del SDK.

Si ocurre algún error al preparar la cámara, el evento onCameraFailed se dispara. Debes implementar este método aplicando las reglas de negocio de tu aplicación.

Realizar una solicitud POST en la API REST del by Client


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 del by Client. Infórmate más en la sección Creación de proceso.


¿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?