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.
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:
Erro | Descrição |
---|---|
.authenticationFailed | Authentication failed. Please check your token and the network connection. |
.resultRetrievalFailed | Failed to retrieve the result. Please try again. |
.userCancelled | The process was cancelled by the user. |
.livenessLoadFailed | Failed 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)
}
Campo | Descrição | Tipo |
---|---|---|
threshold | Limite de validação utilizado. Valores maiores ou iguais serão validados e menores não. | Double |
auditImageBytes | Imagem em formato de base 64, obtida durante o processo de prova de vida. | String |
ticketId | Identificador único de cada processo de prova de vida, importante para rastrear o que aconteceu em cada processo. | String |
resultCode | Código de retorno. | Int |
resultMessage | Mensagem a respeito do retorno do processo. | String |
score | Pontuação de vivacidade. | Double |