Liveness 3D
Guia de customização de telas e textos para o Liveness 3D Android.
Customização das telas de instruções + permissão de câmera
Para customizar as telas de instruções, é necessário passar um XML por meio de um Bundle
, que deve conter dois IDs obrigatórios (@+id/continueButton
e @+id/backButton
) para construir e atribuir as funções internamente. Ao fornecer esses IDs, é possível personalizar completamente o XML.
Exemplo de implementação:
private var startActivityForResult: ActivityResultLauncher<Intent>? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
registerLiveness3DActivity()
}
fun onLiveness3DClick() {
startActivityForResult?.launch(Intent(this, Liveness3DActivity::class.java).apply {
putExtra(Liveness3DActivity.PARAM_LIVENESS3D_USER, liveness3DUser)
putExtra(Liveness3DActivity.PARAM_TEXTS, texts)
putExtra(Liveness3DActivity.PARAM_CUSTOM_INSTRUCTION_SCREEN, R.layout.activity_instructions_custom)
putExtra(Liveness3DActivity.PARAM_CUSTOM_PERMISSION_SCREEN, R.layout.activity_permission_camera_custom)
}
}
Aqui, temos o exemplo de implementação para caso possua uma versão mais antiga do Kotlin
.
fun onLiveness3DClick() {
val intent = Intent(this, Liveness3DActivity::class.java).apply {
putExtra(Liveness3DActivity.PARAM_LIVENESS3D_USER, liveness3DUser)
putExtra(Liveness3DActivity.PARAM_TEXTS, texts)
putExtra(Liveness3DActivity.PARAM_CUSTOM_INSTRUCTION_SCREEN, R.layout.activity_instructions_custom)
putExtra(Liveness3DActivity.PARAM_CUSTOM_PERMISSION_SCREEN, R.layout.activity_permission_camera_custom)
}
startActivityForResult(intent, LIVENESS_3D_RESULT)
}
Descrição dos parâmetros:
Parâmetro | Descrição |
---|---|
PARAM_LIVENESS3D_USER | Parâmetro referente as informações de configurações (appkey, enviroment, theme). |
PARAM_TEXTS | Parâmetro referente a lista comLiveness3DTextKey customizando os textos. |
PARAM_CUSTOM_INSTRUCTION_SCREEN | Parâmetro para customizar a tela de instruções que recebe um xml. |
PARAM_CUSTOM_PERMISSION_SCREEN | Parâmetro para customizar a tela de permissão de câmera também recebendo um xml. |
Para personalizações dos layouts a seguir:
É possível personalizar completamente os layouts, desde que se tenha os botões de continuar (1) e voltar (2) com os IDs
@+id/continueButton
e@+id/backButton
, respectivamente.
Identificador | Descrição |
---|---|
(1) @+id/backButton | Parâmetro referente ao botão de voltar. |
(2) @+id/continueButton | Parâmetro referente ao botão de continuar. |
Layout de instruções do Liveness
Layout de permissão da câmera
Customização dos textos por objeto
Nova forma de customização
Agora a activity Liveness3DActivity
possui um novo parâmetro (PARAM_TEXTS
) que recebe um HashMap tendo como chave o tipo Liveness3DTextKey
e como valor uma string.
Nota
A customização de textos da Liveness 3D não é feita mais pelo arquivo strings.xml.
val texts = hashMapOf<Liveness3DTextKey, String>(
Liveness3DTextKey.READY_HEADER_1 to "Vamos Iniciar",
Liveness3DTextKey.READY_HEADER_2 to "a jornada",
Liveness3DTextKey.READY_MESSAGE_1 to "Instruções de como fazer",
Liveness3DTextKey.READY_MESSAGE_2 to "o desafio do Liveness 3D.",
)
startActivityForResult?.launch(Intent(this, Liveness3DActivity::class.java).apply {
putExtra(Liveness3DActivity.PARAM_LIVENESS3D_USER, liveness3DUser)
putExtra(Liveness3DActivity.PARAM_TEXTS, texts)
})
Ready Screen
Identificador | Exemplos para uso de texto |
---|---|
(1) READY_HEADER_1 | Prepare-se para seu |
(2) READY_HEADER_2 | reconhecimento facial. |
(3) READY_MESSAGE_1 | Posicione o seu rosto na moldura, aproxime-se |
(4) READY_MESSAGE_2 | e toque em começar. |
(5) READY_BUTTON | Começar |
Feedback
Identificador | Exemplos para uso de texto |
---|---|
FEEDBACK_CENTER_FACE | Centralize Seu Rosto |
FEEDBACK_FACE_NOT_FOUND | Enquadre o Seu Rosto |
FEEDBACK_FACE_NOT_LOOKING_STRAIGHT_AHEAD | Olhe Para Frente |
FEEDBACK_FACE_NOT_UPRIGHT | Mantenha a Cabeça Reta |
FEEDBACK_HOLD_STEADY | Segure Firme |
FEEDBACK_MOVE_PHONE_AWAY | Afaste-se |
FEEDBACK_MOVE_PHONE_CLOSER | Aproxime-se |
FEEDBACK_MOVE_PHONE_TO_EYE_LEVEL | Telefone ao Nível dos Olhos |
FEEDBACK_USE_EVEN_LIGHTING | Ilumine Seu Rosto Uniformemente |
FEEDBACK_FRAME_YOUR_FACE | Encaixe Seu Rosto no Espaço Oval |
FEEDBACK_LOOK_STRAIGHT_IN_OVAL | Olhe Para Frente |
FEEDBACK_HOLD_STEADY_1 | Aguente Firme: 1 |
FEEDBACK_HOLD_STEADY_2 | Aguente Firme: 2 |
FEEDBACK_HOLD_STEADY_3 | Aguente Firme: 3 |
FEEDBACK_REMOVE_DARK_GLASSES | Tire Seus Óculos de Sol |
FEEDBACK_NEUTRAL_EXPRESSION | Fique Neutro, Não Sorria |
FEEDBACK_EYES_STRAIGHT_AHEAD | Olhe Para Frente |
FEEDBACK_CONDITIONS_TOO_BRIGHT | Ambiente Muito Iluminado |
FEEDBACK_BRIGHTEN_YOUR_ENVIRONMENT | Ambiente Muito Escuro |
Result Screen
Identificador | Exemplos para uso de texto |
---|---|
RESULT_UPLOAD_MESSAGE | Enviando... |
RESULT_SUCCESS_MESSAGE | Sucesso |
Retry Screen
Identificador | Exemplos para uso de texto |
---|---|
(1) RETRY_HEADER | Vamos tentar novamente? |
(2) RETRY_SUBHEADER | Siga o exemplo de foto ideal abaixo: |
(3) RETRY_MESSAGE_SMILE | Expressão Neutra, Sem Sorrir. |
(3) RETRY_MESSAGE_LIGHTING | Evite reflexos e iluminação extrema. |
(3) RETRY_MESSAGE_CONTRAST | Limpe Sua Câmera. |
(4) RETRY_YOUR_PICTURE | Sua foto. |
(5) RETRY_IDEAL_PICTURE | Foto ideal. |
(6) RETRY_BUTTON | Tentar novamente. |
Updated 15 days ago