Onboarding
Nossa solução para validação de identidade possui três fluxos diferentes:
Fluxo | Finalidade |
---|---|
Documento | Captura o documento de seu usuário, garante a qualidade da imagem e extrai as informações desejadas. |
Prova de Vida | Realiza a captura biométrica com prova de vida. |
Completo | Realiza a captura de documento, garante a qualidade da imagem, extrai as informações desejadas, faz a captura biométrica com prova de vida e também efetua a comparação de faces (Face Match). |
Compatibilidade
O nosso SDK de Onboarding para iOS possui apenas um requisito de compatibilidade:
- Software - iOS 15 ou superior.
Como Instalar
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ê deve selecionar o projeto no navegador de arquivos e, na aba General, na parte de Frameworks, Libraries and Embedded Content, inserir o .xcframework descompactado, arrastando o arquivo ou clicando no botão +. Não esqueça de colocar a opção Embed & Sign.
Como Usar
Em seu arquivo, faça o import do framework BDCOnboardingKit. Para iniciar a captura, utilize o método BDCOnboardingManager.shared.start(). Nele, passe o token de autenticação, o tipo de onboarding (captura de documento, prova de vida ou ambos), um id para identificação do usuário final e quem é o delegate que vai ser notificado ao fim da sessão. Esse mesmo delegate deve implementar o protocolo BDCOnboardingDelegate com seus dois métodos: didCompleteCaptureSession() e didFailCaptureSession().
import UIKit
import BDCOnboardingKit
class ViewController: UIViewController, BDCOnboardingDelegate {
let token = ""
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
BDCOnboardingManager.shared.createSession(withToken: token,
webhookClientId: "")
BDCOnboardingManager.shared.start(.complete, withDelegate: self)
}
func didCompleteCaptureSession(with result: BDCOnboardingResult) {}
func didFailCaptureSession(with error: BDCOnboardingError) {}
}
Três Fluxos
O parâmetro BDCOnboardingType determina qual fluxo será apresentado ao usuário.
Fluxo | Parâmetro |
---|---|
Documento | .documentCapture |
Prova de Vida | .biometricCapture |
Completo | .complete |
Interpretando o Resultado
Tipos de Falha
Caso aconteça qualquer erro durante a sessão de captura, o método didFailCaptureSession() será chamado e você terá acesso ao objeto BDCOnboardingError, que possui a propriedade description. BDCOnboardingError é na verdade um enum com os seguintes casos:
Erro | Descrição |
---|---|
.authenticationFailed | Authentication failed. Please check your token and the network connection. |
.unexpected | An unexpected error occurred. Please try again. |
.timeOut | User's request timed out. |
.userCancelled | The process was cancelled by the user. |
.maxRetries | User's number of retries was reached. Please try again. |
.invalidRequest | An invalid request occurred. Please try again. |
.networkConnection | Network connection error. Please try again. |
func didFailCaptureSession(with error: BDCOnboardingError) {
print(error.description)
}
Sucesso
Caso o usuário complete a sessão de captura, o método didCompleteCaptureSession() será chamado e você terá acesso ao objeto BDCOnboardingResult. Esse objeto representa o resultado da sessão com todas as informações que retornamos.
func didCompleteCaptureSession(with result: BDCOnboardingResult) {
print(result.onboardingId)
}
Campo | Descrição | Tipo |
---|---|---|
onboardingId | Identificador único de cada sessão de captura, importante para rastrear o que aconteceu em cada processo. | String |