Documentação Técnica

Compatibilidade

O nosso SDK de Prova de Vida para iOS possui apenas um requisito de compatibilidade:

  • Software - iOS 14 ou superior.

Projeto Exemplo

A fim de facilitar o entendimento e integração, nós disponibilizamos neste link um aplicativo de demonstração desenvolvido por nossa equipe, ele contém uma versão funcional de um projeto com todas as configurações necessárias, para testes deste serviço.

Lembrando que para que a prova de vida seja executada com sucesso, é necessário inserir um token válido, caso contrário ela retornará "Authentication Failed.".


Adicionando o SDK ao Projeto

Opção 1: Swift Package

Para adicionar nosso pacote ao seu projeto, basta incluir essa URL: https://gitlab.com/BigDataCorp/apps-public-repo/mobile/ios-liveness-sdk-package


Opção 2: XCFramework

Você pode fazer o download do SDK em formato XCFramework aqui . Para inserir diretamente, você deve selecionar o projeto no navegador de arquivos e, na aba General, na parte de Frameworks, Libraries and Embedded Content, inserir o arquivo .xcframework descompactado, arrastando o arquivo ou clicando no botão +. Não esqueça de colocar a opção Embed & Sign.

Exemplo de adição

Uso

Em seu arquivo, faça o import do framework BDCLivenessKit. Para iniciar a prova de vida, utilize o método BDCLivenessManager.shared.start(). Nele, passe o token de autenticação e quem é o delegate que vai ser notificado ao fim da sessão. Esse mesmo delegate deve implementar o protocolo BDCLivenessDelegate com seus dois métodos: didCompleteLivenessSession() e didFailLivenessSession().

import UIKit
import BDCLivenessKit

class ViewController: UIViewController, BDCLivenessDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        BDCLivenessManager.shared.start(withToken: "", andDelegate: self)
    }

    func didCompleteLivenessSession(with result: BDCLivenessResult) {}
    
    func didFailLivenessSession(with error: BDCLivenessError) {}

}

Interpretando o Resultado

Tipos de Falha

Caso aconteça qualquer erro durante a sessão de prova de vida, o método didFailLivenessSession() será chamado e você terá acesso ao objeto BDCLivenessError, que possui a propriedade description. BDCLivenessError é na verdade um enum com os seguintes casos:

ErroDescrição
.authenticationFailedAuthentication failed. Please check your token and the network connection.
.resultRetrievalFailedFailed to retrieve the result. Please try again.
.userCancelledThe process was cancelled by the user.
.livenessLoadFailedFailed to load the liveness check. Please check the network connection.
func didFailLivenessSession(with error: BDCLivenessError) {
  	print(error.description)
 }

Sucesso

Caso o usuário complete a sessão de prova de vida, o método didCompleteLivenessSession() será chamado e você terá acesso ao objeto BDCLivenessResult. Esse objeto representa o resultado da sessão com todas as informações que retornamos.

func didCompleteLivenessSession(with result: BDCLivenessResult) {
     print(result.threshold)
     print(result.auditImageBytes)
     print(result.ticketId)
     print(result.resultCode)
     print(result.resultMessage)
     print(result.score)
}
CampoDescriçãoTipo
thresholdLimite de validação utilizado. Valores maiores ou iguais serão validados e menores não.Double
auditImageBytesImagem em formato de base 64, obtida durante o processo de prova de vida.String
ticketIdIdentificador único de cada processo de prova de vida, importante para rastrear o que aconteceu em cada processo.String
resultCodeCódigo de retorno.Int
resultMessageMensagem a respeito do retorno do processo.String
scorePontuação de vivacidade.Double