Liveness 3D

Guia de customização de telas e textos para o Liveness 3D iOS.

Customização das telas de instruções

Além de poder usar o SDK em sua forma padrão de exibição, o SDK permite também, que as telas sejam completamente customizadas.

A customização das telas é feita por meio da criação de objetos do tipo UIView (via código ou via Interface Builder), que implementam os protocolos definidos para cada tela do fluxo apresentado pelo SDK.

💡

Elementos adicionais

Além das telas obrigatórias, a tela customizada pode conter outros elementos, apenas tomando cuidado para que estes itens adicionais não interfiram no comportamento dos elementos obrigatórios.

As telas customizadas são passadas como argumento para o construtor da classe Liveness3DViewController.

ParâmetroDescrição
customInstructionViewObjeto contendo a customização da tela de instruções.
customPermissionViewObjeto contendo a customização da tela de permissão de câmera.

💡

Nota

Os parâmetros customInstructionView e customPermissionView são opcionais.

1. Tela de Instruções

Parâmetro customInstructionView

Essa tela deve estar em conformidade com o protocolo Liveness3DCustomInstructionView que contém os seguintes métodos e propriedades:

IdentificadorDescrição
(1) backButtonBotão de voltar no fluxo de navegação.
(2) continueButtonBotão para iniciar o processo do Liveness 3D.
MétodoDescrição
changeLoadingVisibility(to:)Método responsável por indicar o estado do loading na tela de instruções, podendo receber dois valores:

- hidden (esconder o loading);
- displayed (mostrar o loading).

2. Tela de permissão da câmera

Parâmetro customPermissionView

💡

Nota

Por se tratar de uma tela comum aos três módulos do SDK, essa tela será descrita uma única vez ao final desta página. Customização da tela de permissão de câmera


Customização das telas de textos

Exemplo de utilização

Os textos do fluxo do Liveness3D podem ser alterados passando como argumento para o parâmetro de texts do Liveness3DUser um dicionário que possui como chave o enum Liveness3DTextKey e um valor do tipo String.

let liveness3DTexts: [Liveness3DTextKey: String] = [
    .readyHeader1: "Vamos",
    .readyHeader2: "começar!" 
]

let liveness3DUser = Liveness3DUser(
    appKey: appKey,
    environment: .HML,
    texts: liveness3DTexts
)

⚠️

Importante

Não é necessário fornecer todos os valores para o dicionário, somente aqueles que possuem necessidade de alteração.

Ready Screen

IdentificadorValor padrão
(1) readyHeader1Vamos
(2) readyHeader2começar!
(3) readyMessage1Posicione seu rosto na moldura,
(4) readyMessage2se aproxime e toque em começar.
(5) readyButtonComeçar

Feedback

Identificador (1)Valor padrão
feedbackCenterFaceCentralize seu rosto
feedbackFaceNotFoundPosicione seu rosto
feedbackFaceNotLookingStraightAheadOlhe para frente
feedbackFaceNotUprightMantenha a cabeça reta
feedbackHoldSteadySegure firme
feedbackMovePhoneAwayAfaste-se
feedbackMovePhoneCloserAproxime-se
feedbackMovePhoneToEyeLevelMantenha o telefone ao nível dos olhos
feedbackUseEvenLightingEncontre um ambiente iluminado
feedbackFrameYourFaceVamos começar
feedbackPositionFaceStraightInOvalOlhe para frente
feedbackHoldSteady1Segure firme por: 1
feedbackHoldSteady2Segure firme por: 2
feedbackHoldSteady3Segure firme por: 3
feedbackRemoveDarkGlassesRemova seus óculos escuros
feedbackNeutralExpressionOlhe para a câmera sem sorrir
feedbackConditionsTooBrightEvite um ambiente muito iluminado
feedbackBrightenYourEnvironmentEncontre um ambiente bem iluminado

Result Screen

IdentificadorValor Padrão
(1) resultUploadMessageEnviando
(2) resultScuccessMessageTudo certo!

Retry Screen

IdentificadorValor padrão
(1) retryHeaderVamos tentar novamente?
(2) retrySubheaderSiga o exemplo de foto ideal abaixo:
(3) retryYourPictureSua foto
(4) retryIdealPictureFoto ideal
(5) retryMessageSmileNão sorria
(5) retryMessageLightningEvite reflexos e iluminação extrema
(5) retryMessageContrastPrecisamos de uma foto nítida
(6) retryButtonTentar novamente

What’s Next