OZ Mobile SDK para iOS y Android es el kit para desarrolladores de software del Sistema Oz Forensics que proporciona una integración perfecta con las aplicaciones móviles de los clientes para el inicio de sesión y la identificación biométrica.
Descargue la última versión de la app de demostración:
Para obtener el código fuente de las aplicaciones de muestra de Oz Liveness SDK, recurra al repositorio de GitLab:
Agregue lo siguiente al build.gradle
del proyecto:
Agruegue al build.gradle
odel módulo (VERSION es la versión que necesita implementar. Consulte el Registro de cambios):
y:
A partir de la versión 5.0, el SDK requiere una licencia para funcionar. Póngase en contacto con nosotros por correo electrónico para obtener una copia de la licencia. Para crear la licencia, se requiere su applicationId
(bundle id
).
Para pasar su archivo de licencia al SDK, llame el método OzLivenessSDK.init
con una lista de LicenseSources
. Utilice uno de los siguientes:
LicenseSource.LicenseAssetId
debe contener una ruta de acceso a un archivo de licencia llamado forensics.license
, que tiene que estar ubicado en la carpeta res/raw del proyecto.
LicenseSource.LicenseFilePath
debe contener una ruta de acceso al lugar del almacenamiento del dispositivo donde se encuentra el archivo de licencia.
Se recomienda aplicar estos ajustes al iniciar la app.
Puede personalizar la interfaz de Oz Liveness con la ayuda de la clase OzCustomization y sus subclases:
Por defecto, el SDK utiliza la localización regional del dispositivo. Para cambiar la localización regional, utilice el siguiente código:
Para autorizar Oz API y obtener el token de acceso, utilice el método OzLivenessSDK.login
con el nombre de usuario y la contraseña proporcionados por su administrador de cuentas de Oz Forensics:
Si ya tiene el token de acceso, especifique la URL de la API y el token de forma manual:
Para iniciar la grabación, utilice el métodostartActivityForResult
:
actions:
lista de acciones del usuario durante la grabación de video. Las acciones posibles son:
OzAction.Smile
OzAction.EyeBlink
OzAction.HeadUp
OzAction.HeadDown
OzAction.HeadLeft
OzAction.HeadRight
OzAction.Scan
OzAction.Blank
OzAction.OneShot
Para obtener el video capturado, utilice el métodoonActivityResult
:
sdkMediaResult:
objeto con los resultados de captura de video para las interacciones con Oz API
sdkErrorString:
descripción de los errores, si los hay
Hay dos formas de enviar archivos multimedia para su análisis:
análisis en el servidor: el sistema envía archivos multimedia a un servidor remoto y luego espera su respuesta.
análisis en el dispositivo: los archivos multimedia se analizan en el dispositivo, sin enviarlos a ninguna parte
Los datos que se cargan y analizan se almacenan en el objeto sdkMediaResult
, obtenido tras la captura y grabación de video. Cárguelo en el servidor e inicie los análisis necesarios mediante Oz API.
Un escenario simple de interacción con Oz API puede implementarse con el método uploadMediaAndAnalyze como se describe a continuación.
Utilice los siguientes métodos para ejecutar el análisis en el dispositivo:
Comprueba la presencia del token de acceso a la Oz API guardado:
LogOut:
El SDK contiene la interfaz IOzForensicsAPI
, que describe las llamadas de red a la API, que se pueden usar para crear una instancia de Retrofit.
Esta interfaz utiliza un convertidor gson y opera con clases del paquete com.ozforensics.liveness.sdk.api.model
.
Aparte de esto, la interfaz especifica un método estático para crear una instancia de Retrofit por defecto (sin escritura en registro, interceptores y con tiempos de espera de 15 segundos). Esta instancia buscará el servidor en la dirección especificada:
El SDK incluye la clase OzForensicsService
que utiliza una instancia de Retrofit de OzForensicsAPI.create()
. Esta clase envuelve las llamadas de red de la interfaz de Retrofit y comprueba la presencia de un token. Cuando se realiza una solicitud de autentificación, el token se almacena automáticamente para objetivos internos. Además, se agregan los metadatos necesarios cuando se realizan las solicitudes de red (creación de una carpeta, carga de datos multimedia para su análisis). Las llamadas a métodos de esta clase son asíncronas (se utiliza la interfaz StatusListener<>
). Puede obtener una instancia de esta clase de la siguiente manera:
Si el valor del parámetro TOKEN
es null
, se requiere autorización antes de realizar cualquier llamada a la API (excepto auth
):
Después de una solicitud correcta, se ejecuta onSuccessCallback
para que el token de acceso se pueda transferir con AuthResponse
.
AnalysisRequest es una nueva API llamada a simplificar las solicitudes de análisis. Con AnalysisRequest, es más fácil crear una solicitud para los medios y el análisis que necesita. Esta es una lista de métodos de AnalysisRequest.
Este es un ejemplo de cómo funciona AnalysisRequest:
Aquí en la estructura Analysis se pasa el tipo de análisis type y el modo de análisis mode.
Los tipos de análisis son tres: BIOMETRY
(biometría), QUALITY
(Liveness), DOCUMENTS
(documentos).
Hay dos modos: ON_DEVICE
(análisis en el dispositivo) y REMOTE
(análisis en el servidor).
Actualmente, el tipo DOCUMENTS no es compatible con el modo ON_DEVICE
.
Método | Descripción |
addAnalyses | Agrega un análisis o una lista de análisis a su solicitud |
addAnalysis | Agrega un análisis a su solicitud |
addFolderMeta | Agrega metadatos a la carpeta que elija (string, clave + valor) |
addMedia | Agrega uno o más medios para analizar (el objeto |
build | Crea una instancia de |
setFolderId | Para la carpeta creada anteriormente, establece un |
AnalysisRequest es una nueva API llamada a simplificar las solicitudes de análisis. Con AnalysisRequest, es más fácil crear una solicitud para los medios y el análisis que necesita. Esta es una lista de métodos de AnalysisRequest.
Este es un ejemplo de cómo funciona AnalysisRequest:
Aquí en la estructura Analysis se pasa el tipo de análisis type y el modo de análisis mode.
Los tipos de análisis son tres: .biometry
(biometría), .quality
(Liveness), .documents
(documentos).
Hay dos modos: onDevice
(análisis en el dispositivo) y serverBased
(análisis en el servidor).
Actualmente, el tipo DOCUMENTS no es compatible con el modo onDevice.
Method | Description |
---|---|
AnalysisRequestBuilder(_ folderId: String?)
Crea una instancia de AnalysisRequest
AnalysisRequest.addAnalysis(_ analysis: Analysis)
Agrega un análisis a su solicitud
AnalysisRequest.addMedia(_ media: OZMedia)
Agrega uno o más medios para analizar
AnalysisRequest.addFolderMeta(_ meta: [String: Any])
Agrega metadatos a la carpeta
AnalysisRequest.run(scenarioProgressHandler: @escaping ((_ state: ScenarioState) -> Void), uploadProgressHandler: @escaping ((AnalysisStatus) -> Void), completionHandler: @escaping (_ resolutions : AnalysisResult?, _ error: Error?) -> Void)
Aplica los análisis solicitados
Descargue la última versión de la app de demostración:
En el repositorio de GitLab se encuentra el código fuente de una app de ejemplo que utiliza el SDK de Oz Liveness:
Para instalar OZLivenessSDK, utilice el administrador de dependencias CocoaPods. Para integrar OZLivenessSDK
en un proyecto de Xcode, añada el siguiente código a Podfile:
Puede encontrar la versión necesaria en el Registro de cambios.
Hay que agregar al proyecto los siguientes ajustes de parámetros:
Para obtener una licencia para el SDK, escríbanos por correo electrónico. Para crear la licencia, es necesario el bundle id
. Después de obtener un archivo de licencia, hay dos maneras de agregar la licencia a su proyecto.
Cambie el nombre de este archivo a forensics.license y póngalo en el proyecto.
Durante el tiempo de ejecución: al inicializar el SDK, utilice el siguiente método.
LicenseSource
es una ruta al archivo de licencia, y LicenseData
es la información sobre su licencia. Tenga en cuenta: este método comprueba si tiene una licencia activa o no y, en caso afirmativo, la licencia no será sustituida por una nueva. Para forzar la sustitución de la licencia, utilice el método setLicense
.
Después de configurar la licencia, conéctese a los servidores de Oz:
Para autorizar la Oz API, utilice el métodoOZSDK.login
:
Puede crear un controlador que capture videos de la siguiente manera:
action:
lista de las acciones del usuario mientras se captura el video. Posibles acciones:
.smile
.eyes
.up
.down
.left
.right
.scanning
.selfie
.oneshot
El método onOZVerificationResult(results:)
para OZVerificationDelegate
recupera los resultados de la captura que contienen el estado y la URL del video. Utilice videoURL
para recuperar el video, bestShotURL
para recuperar la mejor toma, y preferredMediaURL
para recuperar el medio más apropiado para la acción (es decir, la mejor toma para la acción de una sola toma y el video para otras acciones).
Hay dos formas de enviar archivos multimedia para su análisis:
análisis en el servidor: el sistema envía archivos multimedia a un servidor remoto y luego espera su respuesta.
análisis en el dispositivo: los archivos multimedia se analizan en el dispositivo, sin enviarlos a ninguna parte.
Los datos destinados a la carga y el análisis se almacenan en los resultados de los objetos (véase más arriba), obtenidos después de capturar y grabar el video. Cárguelos en el servidor e inicie los análisis necesarios con la ayuda de Oz API.
Un escenario simple de interacción con Oz API puede ser implementado con el método OZSDK.analyse
como se describe a continuación.
El bloque completion
| resolution
contendrá el resultado del análisis asignado, incluyendo status
(estado del análisis), type
(tipo de análisis) y folderID
(id. de la carpeta de Oz API).
Para realizar un análisis exhaustivo con video y fotografías de documentos, se utiliza el método OZSDK.documentAnalyse
:
El bloque completion | resolution
contendrá el resultado del análisis asignado (similar a OZSDK.analyse
), donde folderResolutionStatus
es el estado general de los análisis para la carpeta.
Puede utilizar el método OZSDK.uploadAndAnalyse
tanto para los documentos como para la comprobación facial:
El bloque resolution
contendrá el resultado del análisis asignado (similar a OZSDK.analyse
y OZSDK.documentAnalyse
).
Utilice los siguientes métodos para ejecutar el análisis en el dispositivo:
Biometry:
Liveness:
Puede usar OZSDK.customization
para cambiar el estilo visual de la app.
Example: