Guia Rápido de Uso
Requisitos de Compatibilidade
-
Target mínimo: iOS 15.0
-
Versão do Swift: 5+
-
Linguagem base: Swift
-
Gerenciador de dependência: CocoaPods, SPM
-
Credenciais:
AppKey: utilizada pelo provedor IProovToken: utilizado pelo provedor SaaS (FaceTec e Fortface)
-
Permissões no
Info.plist:NSCameraUsageDescription: acesso à câmeraNSLocationWhenInUseUsageDescription: localização do dispositivo.
-
Ambientes suportados:
hml: Homologaçãoprd: Produção
Instalação
CocoaPods
Passo 1: Caso você não possua um arquivo Podfile no seu projeto, basta executar o comando abaixo na raiz do projeto que um novo arquivo desse será criado:
pod initPasso 2: No início do Podfile, inclua a linha abaixo:
source 'https://github.com/oititec/ios-artifactory.git'Passo 3: Em seguida, adicione as dependências necessárias:
pod 'CertifaceSDK', '~> x.y.z'Substitua
x.y.zpela versão mais recente fornecida pela CertiFace.Para uso da versão de desenvolvimento (menos segura) deve-se utilizar o
CertifaceSDK-Debug
Passo 4: Execute o comando de instalação dos pods:
pod installSPM
Xcode UI
-
Adicione o pacote selecionando a opção
File→Add Package Dependenciesno Xcode -
Pesquise pela URL do módulo, selecione a opção
Up to Next Major Versionna lista de Dependency Rule e clique no botãoAdd Package.
https://github.com/oititec/ios-modules-certiface.git- Clique no botão
Add Package.
Package manifest
- Adicione o package do
CertifaceSDKna vetor de dependências:
dependencies: [
.package(
name: "CertifaceSDK",
url: "https://github.com/oititec/ios-modules-certiface.git",
// Especifique a versão desejada
.upToNextMajor(from: "X.Y.Z")
)
]- Adicione o produto do
CertifaceSDKna vetor de dependências do target desejado:
.target(
name: "MyTarget",
dependencies: [
.product(name: "CertifaceSDK", package: "ios-modules-certiface"),
]
)Criação do provedor de Liveness
O CertifaceSDK utiliza o padrão de fábrica para criar instâncias específicas de cada provedor de Liveness:
// iProov (credencial: AppKey)
let manager = CertifaceSDKFactory.createLivenessManager(for: .iproov)
// SaaS - FaceTec ou Fortface (credencial: Token)
let manager = CertifaceSDKFactory.createLivenessManager(for: .saas)Provedores Disponíveis
| Provedor | Identificador Enum | Suporte |
|---|---|---|
| IProov | LivenessProvider.iproov | ✅ Suporte Atual |
| FaceTec | LivenessProvider.saas (definido pelo Token) | ✅ Suporte Atual |
| Fortface | LivenessProvider.saas (definido pelo Token) | ✅ Suporte Atual |
Credenciais
O LivenessManagerOptions possui dois construtores, de acordo com o provedor utilizado:
// IProov: AppKey
let options = LivenessManagerOptions
.builder(appKey: "APP_KEY", environment: .hml)
.build()
// SaaS (FaceTec / Fortface): Token
let options = LivenessManagerOptions
.builder(token: "TOKEN", environment: .hml)
.build()Provedor: IProov
Este provedor oferece uma jornada de verificação baseada em luz e detecção passiva. Utiliza a AppKey como credencial e o identificador .iproov.
Execução da Jornada
Após criar o LivenessManagerOptions fornecendo a AppKey e o ambiente de execução, inicie a jornada com:
// MARK: - Implementação
import CertifaceSDK
final class ContentViewController: UIViewController {
func executeLiveness() {
let options = LivenessManagerOptions
.builder(appKey: "APP_KEY", environment: .hml)
.build()
let manager = CertifaceSDKFactory.createLivenessManager(for: .iproov)
manager.start(at: self, options: options, callback: self)
}
}
extension ContentViewController: LivenessCallback {
func onSuccess(_ result: LivenessResult) {
// Código ...
}
func onError(_ error: LivenessError) {
// Código ...
}
}
Provedor: FaceTec
Este provedor oferece uma jornada de verificação baseada no mapeamento 3D da face. É executado pelo provedor .saas, que utiliza o Token como credencial.
Execução da Jornada
Após criar o LivenessManagerOptions fornecendo o Token e o ambiente de execução, inicie a jornada com:
// MARK: - Implementação
import CertifaceSDK
final class ContentViewController: UIViewController {
func executeLiveness() {
let options = LivenessManagerOptions
.builder(token: "TOKEN", environment: .hml)
.build()
let manager = CertifaceSDKFactory.createLivenessManager(for: .saas)
manager.start(at: self, options: options, callback: self)
}
}
extension ContentViewController: LivenessCallback {
func onSuccess(_ result: LivenessResult) {
// Código ...
}
func onError(_ error: LivenessError) {
// Código ...
}
}
Provedor: Fortface
Este provedor oferece uma jornada de verificação facial com orientações em tempo real durante o enquadramento do rosto. Assim como a FaceTec, é executado pelo provedor .saas com o Token da jornada.
Execução da Jornada
// MARK: - Implementação
import CertifaceSDK
final class ContentViewController: UIViewController {
func executeLiveness() {
let options = LivenessManagerOptions
.builder(token: "TOKEN", environment: .hml)
.build()
let manager = CertifaceSDKFactory.createLivenessManager(for: .saas)
manager.start(at: self, options: options, callback: self)
}
}
extension ContentViewController: LivenessCallback {
func onSuccess(_ result: LivenessResult) {
// Código ...
}
func onError(_ error: LivenessError) {
// Código ...
}
}
Fluxo de Telas
Tela de Processamento (Validação)
Primeira tela da jornada. Exibida para validação das credenciais e geração da sessão de reconhecimento facial (liveness). Nos provedores FaceTec e Fortface, também é nessa etapa que o Token é validado e o provedor da jornada é definido. Mostra:
- Indicador de processamento
Tela de Permissão de Câmera
Exibida quando o usuário ainda não concedeu permissão de acesso à câmera. Contém:
- Explicação da necessidade da permissão
- Botão para conceder acesso
- Redirecionamento para as configurações do dispositivo caso a permissão tenha sido negada anteriormente
Tela Inicial/Instruções (Pré-Liveness)
Tela que apresenta as instruções iniciais ao usuário antes do início do processo de verificação facial. Pode ser desabilitada com setShowInstructionsScreen(false). Inclui:
- Explicação do processo de liveness
- Requisitos de iluminação e posicionamento
- Botão de início do processo
Tela de Liveness
Exibida durante a coleta e análise do liveness. Mostra:
- Feedback visual em tempo real do enquadramento facial
- Instruções dinâmicas (ex: "Mantenha o rosto no quadro")
Tela de Processamento
Exibida durante o processamento do liveness coletado. Mostra:
- Barra de progresso ou indicador de processamento
Tela de Resultado
Exibida ao final do processamento do liveness coletado. Mostra:
- Feedback visual quanto ao sucesso ou erro do Liveness.
- IProov e Fortface: quando é necessária uma nova tentativa, a tela exibe o botão de retry, que reinicia a captura. No Fortface, as telas de sucesso e de erro são fechadas automaticamente após 3 segundos.
- FaceTec: o resultado é exibido pela própria tela da FaceTec.
Ambiente de Testes
Durante o desenvolvimento, utilize o ambiente hml com AppKeys (IProov) ou Tokens (FaceTec e Fortface) fornecidos pela equipe CertiFace.
Evite o uso do ambiente de produção para testes manuais.
Updated 16 days ago
