Liveness 3D - Tema Interativo

Plataforma interativa de customizações do tema do Liveness 3D para Flutter

1. Guia Rápido

O Tema Interativo para personalização da biblioteca do Liveness 3D é uma plataforma essencial que permite a seleção de cores, bordas, arredondamento de bordas e sombreamento. Isso simplifica a geração de código, possibilitando a fácil implementação no seu Liveness 3D.

Aprenda a personalizar o Liveness 3D no Flutter para integrar as propriedades customizadas em seu código de forma simples e ágil.

Siga os passos para interagir com o Tema Interativo.

Antes de começar

  • Além disso, será necessário importar as fontes desejadas para a pasta de fontes do seu ambiente Android e iOS, nativamente arrastando e soltando seus arquivos .tff na pasta "assets/fonts" no Android, e no iOS registrando nos assets da aplicação.

Telas para customização

O Tema Interativo apresenta três telas de customização que orientam o usuário durante a execução do Liveness 3D:

  • Na primeira tela, encontramos as instruções para a preparação do usuário, sendo o ponto inicial de interação com o Liveness 3D.
  • A segunda tela é destinada à retentativa. Caso o usuário precise refazer a jornada, essa tela fornece diretrizes, incluindo um exemplo de foto ideal.
  • A terceira tela consiste na tela de resultado. Nela, o usuário recebe a mensagem de conclusão do processo de Liveness.
Sequência de telas exibidas no iframe para customização.

Sequência de telas exibidas no iframe para customização.

Propriedades customizáveis

As propriedades destinadas à customização estão localizadas na segunda coluna do iframe. Nesta coluna, é possível encontrar o nome da propriedade (1) e sua respectiva descrição (2).

Coluna de propriedades customizáveis.

Coluna de propriedades customizáveis.

Para exportar o código das customizações

Passo 1: visualize o código

Após concluir todas as personalizações, é necessário clicar no botão "código" (1) para visualizar todas as modificações realizadas e, em seguida, exportá-las para incorporação no seu projeto.

Localização do botão "código" para exportação das customizações.

Localização do botão "código" para exportação das customizações.

Passo 2: importe as fontes

Coloque os arquivos de fontes na pasta "assets res/fonts.xml" no Android ou registre nos assets caso seja iOS

Passo 3: inicie o builder do ThemeBuilder e das fontes Liveness3dFonts.

Utilize o exemplo a seguir para iniciar as funções do tema com as propriedades desejadas.

	 ThemeBuilder _themeCustomization() {
    return ThemeBuilder()
      ..guidanceCustomizationButtonBackgroundNormalColor = '#8e9334'
      ..ovalCustomizationStrokeColor = '#8e9334';
  }

  Liveness3dFonts _fontsCustomization() {
    return Liveness3dFonts()
      ..guidanceCustomizationHeaderFont = 'Lobster'
      ..guidanceCustomizationSubtextFont = 'Lobster'
      ..readyScreenCustomizationHeaderFont = 'Lobster'
      ..guidanceCustomizationButtonFont = 'Lobster'
      ..feedbackCustomizationTextFont = 'Lobster';
  }

Passo 4: identifique e implemente as propriedades

O objeto de cores inclui uma série de propriedades que podem ser customizadas, divididas em categorias como Guidance, Botões, Ready e Retry Screen, entre outras.

O código das propriedades customizadas também reflete essa série mencionada anteriormente. Identifique e implemente de acordo com as respetivas customizações.


2. Tema Interativo - Flutter

Use a plataforma para iniciar as customizações do Liveness 3D.


3. Propriedades customizáveis

Abaixo, estão mapeadas as propriedades para customização do objeto ThemeBuilder.

Customizações de telas Liveness3D

Guidance

AtributoTipoDescrição
guidanceCustomizationBackgroundColorsString?Modifica a cor de fundo.
guidanceCustomizationForegroundColorString?Modifica a cor de fundo quando estiver em primeiro plano.

Botões

AtributoTipoDescrição
guidanceCustomizationButtonTextNormalColorString?Modifica a cor do texto do botão na sua condição padrão.
guidanceCustomizationButtonBackgroundNormalColorString?Modifica a cor de fundo do botão na sua condição padrão.
guidanceCustomizationButtonTextHighlightColorString?Modifica a cor do texto do botão na sua condição de destaque.
guidanceCustomizationButtonBackgroundHighlightColorString?Modifica a cor de fundo do botão na sua condição de destaque.
guidanceCustomizationButtonTextDisabledColorString?Modifica a cor do texto do botão na sua condição de desabilitado.
guidanceCustomizationButtonBackgroundDisabledColorString?Modifica a cor de fundo do botão na sua condição de desabilitado.
guidanceCustomizationButtonBorderColorString?Modifica a cor da borda do botão.
guidanceCustomizationButtonBorderWidthint?Modifica a largura da borda do botão.
guidanceCustomizationButtonCornerRadiusint?Modifica o tamanho do arredondamento das bordas do botão.

Ready Screen

AtributoTipoDescrição
guidanceCustomizationReadyScreenHeaderTextColorString?Modifica a cor da fonte do texto.
guidanceCustomizationReadyScreenHeaderAttributedStringString?Adiciona um texto para o header.
guidanceCustomizationReadyScreenSubtextTextColorString?Modifica a cor da fonte do texto.
guidanceCustomizationReadyScreenSubtextAttributedStringString?Adiciona um texto para o subtext.
guidanceCustomizationReadyScreenOvarFillColorString?Cor do oval.
guidanceCustomizationReadyScreenTextBackgroundColorString?Modifica a cor de fundo.
guidanceCustomizationReadyScreenTextBackgroundCornerRadiusint?Modifica o tamanho do arredondamento das bordas.

Retry Screen

AtributoTipoDescrição
guidanceCustomizationRetryScreenHeaderTextColorint?Modifica a cor da fonte do header.
guidanceCustomizationRetryScreenHeaderAttributedStringStringAdiciona uma mensagem personalizada no header.
guidanceCustomizationRetryScreenSubtextTextColorString?Modifica a cor da fonte do subtext.
guidanceCustomizationRetryScreenSubtextAttributedStringString?Adiciona uma mensagem personalizada no subtext.
guidanceCustomizationRetryScreenImageBorderColorString?Modifica a cor da borda do preview da imagem de retentativa.
guidanceCustomizationRetryScreenImageBorderWidthint?Modifica a largura da borda do preview da imagem de retentativa.
guidanceCustomizationRetryScreenImageCornerRadiusint?Modifica o tamanho do arredondamento das bordas.
guidanceCustomizationRetryScreenOvarStrokeColorString?Modifica a cor da borda do preview oval da imagem de retentativa.

Result Screen Customization

AtributoTipoDescrição
resultScreenCustomizationForegroundColorStringModifica a cor de fundo quando estiver em primeiro plano.
resultScreenCustomizationBackgroundColorsStringModifica a cor de fundo e caso receba duas cores diferentes cria um degradê.
resultScreenCustomizationActivityIndicatorColorStringModifica a cor do activity indicator.
resultScreenCustomizationCustomActivityIndicatorImageStringAdiciona uma imagem customizada para o activity indicator.
resultScreenCustomizationShowUploadProgressBarStringPropriedade booleana que ativa a visualização da barra de progresso.
resultScreenCustomizationUploadProgressFillColorStringModifica a cor do preenchimento da barra de progresso.
resultScreenCustomizationUploadProgressTrackColorStringModifica a cor da barra de progresso.
resultScreenCustomizationResultAnimationBackgroundColorStringModifica a cor de fundo da imagem que aparece após a animação finalizar.
resultScreenCustomizationResultAnimationForegroundColorStringModifica a cor do icone que vai aparecer em primeiro plano após a animação finalizar.

Oval Customization

AtributoTipoDescrição
ovarCustomizationStrokeWidthint?Modifica a largura da borda da camada oval.
ovarCustomizationStrokeColorString?Modifica a cor da borda da camada oval.
ovarCustomizationProgressStrokeWidthint?Modifica a largura da borda do progresso da camada oval.
ovarCustomizationProgressColor1String?Modifica a cor da borda de progresso da camada oval.
ovarCustomizationProgressColor2StringModifica a cor da borda de progresso da camada oval.
ovarCustomizationProgressRadialOffsetint?Modifica o distânciamento da borda de progresso da camada oval.

Frame Customization

AtributoTipoDescrição
frameCustomizationBorderWidthint?Modifica a largura da borda do frame.
frameCustomizationCornerRadiusint?Modifica o tamanho do arredondamento das bordas do frame.
frameCustomizationBorderColorString?Modifica a cor da borda do frame.
frameCustomizationBackgroundColorString?Modifica a cor de fundo do frame.
frameCustomizationElevationint?Sombra do frame.

Overlay Customization

AtributoTipoDescrição
overlayCustomizationBackgroundColorString?Modifica a cor de fundo da camada de overlay.
overlayCustomizationBrandingImageString?Adiciona uma imagem na camada de overlay.

Feedback Customization

AtributoTipoDescrição
feedbackCustomizationCornerRadiusint?Modifica o tamanho do arredondamento das bordas da barra.
feedbackCustomizationBackgroundColorString?Modifica a cor de fundo da barra.
feedbackCustomizationTextColorString?Modifica a cor do texto do feedback.

Customização dos Textos

Da mesma forma que criamos um objeto, criamos para as fontes no 3D utilizando o TextsBuilder, seguindo esse exemplo:

	TextsBuilder _textsCustomization() {
    return TextsBuilder()
      ..readyHeader1 = 'ready_header_1'
      ..readyHeader2 = 'ready_header_2'
      ..readyMessage1 = 'ready_message_1'
      ..readyMessage2 = 'ready_message_2'
      ..feedbackBrightenYourEnvironment = 'feedback_brighten_your_environment';
  }

Ready Screen

Novo identificadorAntiga tag do arquivo XML
readyHeader1FaceTec_instructions_header_ready_1
readyHeader2FaceTec_instructions_header_ready_2
readyMessage1FaceTec_instructions_message_ready_1
readyMessage2FaceTec_instructions_message_ready_2
readyButtonFaceTec_action_im_ready

Retry Screen

Novo identificadorAntiga tag do arquivo XML
retryHeaderFaceTec_retry_header
retrySubheaderFaceTec_retry_subheader_message
retryYourPictureFaceTec_retry_instruction_message_1
retryIdealPictureFaceTec_retry_instruction_message_2
retryMessageSmileFaceTec_retry_instruction_message_3
retryMessageLightingFaceTec_retry_your_image_label
retryMessageContrastFaceTec_retry_ideal_image_label
retryButtonFaceTec_action_try_again

Result Screen

Novo identificadorAntiga tag do arquivo XML
resultUploadMessageFaceTec_result_facescan_upload_message
resultSuccessMessageFaceTec_result_success_message

Feedback

Novo identificadorAntiga tag do arquivo XML
feedbackCenterFaceFaceTec_feedback_center_face
feedbackFaceNotFoundFaceTec_feedback_face_not_found
feedbackFaceNotLookingStraightAheadFaceTec_feedback_face_not_looking_straight_ahead
feedbackFaceNotUprightFaceTec_feedback_face_not_upright
feedbackHoldSteadyFaceTec_feedback_hold_steady
feedbackMovePhoneAwayFaceTec_feedback_move_phone_away
feedbackMovePhoneCloserFaceTec_feedback_move_phone_closer
feedbackMovePhoneToEyeLevelFaceTec_feedback_move_phone_to_eye_level
feedbackUseEvenLightingFaceTec_feedback_use_even_lighting
feedbackFrameYourFaceFaceTec_presession_frame_your_face
feedbackPositionFaceStraightInOvalFaceTec_presession_position_face_straight_in_oval
feedbackHoldSteady1FaceTec_presession_hold_steady_1
feedbackHoldSteady2FaceTec_presession_hold_steady_2
feedbackHoldSteady3FaceTec_presession_hold_steady_3
feedbackRemoveDarkGlassesFaceTec_presession_remove_dark_glasses
feedbackNeutralExpressionFaceTec_presession_neutral_expression
feedbackConditionsTooBrightFaceTec_presession_conditions_too_bright
feedbackBrightenYourEnvironmentFaceTec_presession_brighten_your_environment