Doc Core

Guia de customização para o Doc Core Flutter.

Telas Customizáveis

Podemos customizar as telas de instrução e a de permissão passando Widgets customizados.

1. Tela de Instruções / 2. Tela de Permissão

(1. Tela de Instruções / 2. Tela de Permissão)

1. Tela de Instruções

Para adicionar a tela de instruções customizável temos que criar um Widget para retornar nossa tela passando os callbacks como parâmetros de onError e onSucces e incluir o Widget nos parâmetros da classe de inicialização createDocumentscopyWidget.

OitiLiveness2d.createDocumentscopyWidget(
              appKey: appKey,
              ticket: ticket,
              environment: environment,
              themeBuilder: themeBuilder,
              onSuccess: (result) => _onDocSuccess(result),
              onError: (error) => _onDocError(error),
              instructionWidget: instructionScreen(), // <---------
              permissionWidget: CameraPermissionWidget(),
            ),
          ),
)

Widget instructionScreen() { // <---------
    return InstructionWidget(
      onError: (error) => _onDocError(error),
      onSuccess: (result) => _onDocSuccess(result),
    );
 }

Classe de Ação: DocumentsCopyActions().onContinue(BuildContext context)

Você deve instanciar a classe inicialização quando o usuário clicar em CNH ou RG no onPress() de seu botão dentro do seu Widget customizado para iniciar a jornada da DocCore.

ElevatedButton(
	onPressed: () {
		try {
			PermissionsActions().askPermission(context);
		} catch (e) {
			print(e.toString());
		}
	},
	child: const Text("Verificar"),
)

2. Tela de Permissões

Para adicionar uma tela de permissão incluir o Widget da sua tela nos parâmetros da classe de inicialização createDocumentscopyWidget.

OitiLiveness2d.createDocumentscopyWidget(
              appKey: appKey,
              ticket: ticket,
              environment: environment,
              themeBuilder: themeBuilder,
              onSuccess: (result) => _onDocSuccess(result),
              onError: (error) => _onDocError(error),
              permissionWidget: CameraPermissionWidget(),// <---------
            ),
          ),
)

Classe de Ação: PermissionsActions().onContinue(BuildContext context)

Você deve instanciar a classe de permissão no onPress() de seu botão de permissão dentro do seu Widget customizado para executar a verificação de permissão para o usuário.

ElevatedButton(
	onPressed: () {
		try {
			PermissionsActions().askPermission(context);
		} catch (e) {
			print(e.toString());
		}
	},
	child: const Text("Verificar"),
)

Builders

No Flutter utilizamos classes de construção para efetuar diversas mudanças no tema.

1. Theme Builder

Classe responsável pelas cores da jornada da

ThemeBuilder _themeCustomization() {
    return ThemeBuilder()
      ..setCaptureBackgroundColor = "#DD0101"
      ..setCaptureCaptureButtonNormalStateColorsBorder= "#DD0101";
 }

1.1 Propriedades customizáveis

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

Customizações de telas ThemeBuilder

Tela de Loading

Tela de Loading
PropriedadeTipagemDescrição
(1)setLoadingBackgroundColorString?Cor de fundo da tela de carregamento
(2)setLoadingSpinnerColorString?Cor do indicador de carregamento
(2)setLoadingSpinnerWidthint?Largura do indicador de carregamento
(2)setLoadingSpinnerScaleint?Fator de escala do indicador de carregamento

Tela de Captura

PropriedadeTipagemDescrição
(1)setCaptureBackButtonColorsIconString?Cor do ícone do botão Voltar
(1)setCaptureBackButtonColorsBackgroundString?Cor de fundo do botão Voltar
(1)setCaptureBackButtonColorsBorderString?Cor da borda do botão Voltar
(2)setCaptureCloseButtonColorsIconString?Cor do ícone do botão Fechar
(2)setCaptureCloseButtonColorsBackgroundString?Cor de fundo do botão Fechar
(2)setCaptureCloseButtonColorsBorderString?Cor da borda do botão Fechar
(3)setCaptureFrontIndicatorColorString?Cor do indicador frontal
(4)setCaptureFrontIndicatorFocusedStateTextColorString?Cor do texto no estado focado do indicador frontal
(4)setCaptureFrontIndicatorUnfocusedStateColorString?Cor no estado não focado do indicador frontal
(3)setCaptureBackIndicatorColorString?Cor do indicador traseiro
(4)setCaptureBackIndicatorFocusedStateTextColorString?Cor do texto no estado focado do indicador traseiro
(4)setCaptureBackIndicatorUnfocusedStateTextColorString?Cor no estado não focado do indicador traseiro
(5)setCaptureInstructionTextColorString?Cor do texto das instruções
(6)setCapturePreviewBorderColorForCaptureString?Cor da borda da pré-visualização para captura
(6)setCapturePreviewBorderColorForUncapturedStateString?Cor da borda da pré-visualização para estado não capturado
(8)setCaptureCaptureButtonHighlightedStateColorsIconString?Cor do ícone do botão de captura no estado destacado
(8)setCaptureCaptureButtonHighlightedStateColorsBackgroundString?Cor de fundo do botão de captura no estado destacado
(8)setCaptureCaptureButtonHighlightedStateColorsBorderString?Cor da borda do botão de captura no estado destacado
(8)setCaptureCaptureButtonNormalStateColorsIconString?Cor do ícone do botão de captura no estado normal
(8)setCaptureCaptureButtonNormalStateColorsBackgroundString?Cor de fundo do botão de captura no estado normal
(8)setCaptureCaptureButtonNormalStateColorsBorderString?Cor da borda do botão de captura no estado normal
(8)setCaptureCaptureButtonDisabledStateColorsIconString?Cor do ícone do botão de captura no estado desativado
(8)setCaptureCaptureButtonDisabledStateColorsBackgroundString?Cor de fundo do botão de captura no estado desativado
(8)setCaptureCaptureButtonDisabledStateColorsBorderString?Cor da borda do botão de captura no estado desativado
(9)setCaptureBottomSheetShapeColorString?Cor da forma da folha inferior de captura
(9)setCaptureBottomSheetShapeCornerRadiusint?Raio da borda da forma da folha inferior de captura
(10)setCaptureTakeNewPictureButtonHighlightedStateColorsTextString?Cor do texto do botão de tirar nova foto no estado destacado
(10)setCaptureTakeNewPictureButtonHighlightedStateColorsBackgroundString?Cor de fundo do botão de tirar nova foto no estado destacado
(10)setCaptureTakeNewPictureButtonHighlightedStateColorsBorderString?Cor da borda do botão de tirar nova foto no estado destacado
(10)setCaptureTakeNewPictureButtonNormalStateColorsTextString?Cor do texto do botão de tirar nova foto no estado normal
(10)setCaptureTakeNewPictureButtonNormalStateColorsBackgroundString?Cor de fundo do botão de tirar nova foto no estado normal
(10)setCaptureTakeNewPictureButtonNormalStateColorsBorderString?Cor da borda do botão de tirar nova foto no estado normal
(10)setCaptureTakeNewPictureButtonDisabledStateColorsTextString?Cor do texto do botão de tirar nova foto no estado desativado
(10)setCaptureTakeNewPictureButtonDisabledStateColorsBackgroundString?Cor de fundo do botão de tirar nova foto no estado desativado
(10)setCaptureTakeNewPictureButtonDisabledStateColorsBorderString?Cor da borda do botão de tirar nova foto no estado desativado
(11)setTextConfirmationString?Texto da pergunta "A foto do documento ficou boa?"
(11)setTextConfirmationColorString?Cor da pergunta "A foto do documento ficou boa?"
(12)setCaptureUsePictureButtonTextString?Texto do botão "Sim"
(12)setCaptureUsePictureButtonConfirmationTextString?Texto de confirmação do botão "Sim"
(12)setCaptureUsePictureButtonHighlightedStateColorsTextString?Cor do texto do botão "Sim" no estado destacado
(12)setCaptureUsePictureButtonHighlightedStateColorsBackgroundString?Cor de fundo do botão "Sim" no estado destacado
(12)setCaptureUsePictureButtonHighlightedStateColorsBorderString?Cor da borda do botão "Sim" no estado destacado
(12)setCaptureUsePictureButtonNormalStateColorsTextString?Cor do texto do botão "Sim" no estado normal
(12)setCaptureUsePictureButtonNormalStateColorsBackgroundString?Cor de fundo do botão "Sim" no estado normal
(12)setCaptureUsePictureButtonNormalStateColorsBorderString?Cor da borda do botão "Sim" no estado normal
(12)setCaptureUsePictureButtonDisabledStateColorsTextString?Cor do texto do botão "Sim" no estado desativado
(12)setCaptureUsePictureButtonDisabledStateColorsBackgroundString?Cor de fundo do botão "Sim" no estado desativado
(12)setCaptureUsePictureButtonDisabledStateColorsBorderString?Cor da borda do botão "Sim" no estado desativad

Tela de Resultado

PropriedadeTipagemDescrição
(1)setResultBackgroundColorSuccessString?Cor de fundo para o resultado de sucesso
(2)setResultBackgroundColorErrorString?Cor de fundo para o resultado de erro
(4)setResultBackgroundColorTryAgainString?Cor de fundo para a opção "Tentar Novamente"
(3)setResultMessageSuccessString?Mensagem de sucesso
(3)setResultMessageErrorString?Mensagem de erro
(3)setResultMessageTryAgainString?Mensagem para a opção "Tentar Novamente"
(3)setResultMessageColorSuccessString?Cor do texto para o resultado de sucesso
(3)setResultMessageColorErrorString?Cor do texto para o resultado de erro
(3)setResultMessageColorTryAgainString?Cor do texto para a opção "Tentar Novamente"
(4)setResultTryAgainButtonHighlightedStateColorsTextString?Cor do texto da opção "Tentar Novamente" no estado destacado
(4)setResultTryAgainButtonHighlightedStateColorsBackgroundString?Cor de fundo da opção "Tentar Novamente" no estado destacado
(4)setResultTryAgainButtonHighlightedStateColorsBorderString?Cor da borda da opção "Tentar Novamente" no estado destacado
(4)setResultTryAgainButtonNormalStateColorsTextString?Cor do texto da opção "Tentar Novamente" no estado normal
(4)setResultTryAgainButtonNormalStateColorsBackgroundString?Cor de fundo da opção "Tentar Novamente" no estado normal
(4)setResultTryAgainButtonNormalStateColorsBorderString?Cor da borda da opção "Tentar Novamente" no estado normal
(4)setResultTryAgainButtonTextString?Texto para a opção "Tentar Novamente"

Tela de Instruções

PropriedadeTipagemDescrição
instructionTitleTextString?Texto do título das instruções
instructionTitleColorString?Cor do título das instruções
instructionCaptionColorString?Cor da legenda das instruções
instructionCaptionTextString?Texto da legenda das instruções
instructionBackgroundColorString?Cor de fundo das instruções
instructionBottomSheetBackgroundColorString?Cor de fundo da folha inferior de instruções
setCaptureBottomSheetBackgroundString?Configuração do fundo da folha inferior de captura