For the complete documentation index, see llms.txt. This page is also available as Markdown.

Envio de arquivos e gestão de QR - Capture

Introdução

A captura de documentos e a leitura e geração de QRs são realizadas com o CaptureComponent.

Este componente permitirá o envio de documentos tirando uma foto com a câmera do dispositivo ou da galeria.


Dependência

A dependência específica do componente é:

implementation "com.facephi.androidsdk:capture_component:$version"

Controladores disponíveis

Controlador

Descrição

FileUploaderController

Controlador para a captura de documentos

QrReaderController

Controlador para a captura de QRs

QrGeneratorController

Controlador para a geração de QRs


Lançamento simplificado

Uma vez iniciado o SDK e criada uma nova operação, será possível iniciar o componente. Será possível usar qualquer um de seus controladores para executar sua funcionalidade.

Lançamento da captura de documentos:

Lançamento da captura de QR:

Lançamento da geração de QR:


Configuração básica

Para os controladores de captura de componentes e captura de QR, a configuração pode ser gerada com os parâmetros padrão. No caso da geração do QR, será necessário o texto que será utilizado:


Recebimento do resultado

A execução retornará as informações no formato SdkResult. Sendo possível diferenciar entre uma execução correta e uma incorreta:

Recebimento de erros

Os erros serão retornados como um objeto 'CaptureError'.

Lista de erros:

  • CAP_ACTIVITY_RESULT_MSG_ERROR: O resultado retornado pela atividade é incorreto ou não contém as informações necessárias para continuar.

  • CAP_APPLICATION_CONTEXT_ERROR: O contexto da aplicação necessário é nulo ou não válido, impedindo a inicialização correta do módulo de captura.

  • CAP_CAMERA_ERROR: Ocorreu um erro interno relacionado à câmera do dispositivo (falha de abertura, inicialização ou captura).

  • CAP_CAMERA_PERMISSION_DENIED: O usuário negou as permissões necessárias para acessar a câmera.

  • CAP_CANCEL_BY_USER: O usuário cancelou manualmente o processo de captura.

  • CAP_CANCEL_LAUNCH: O processo foi cancelado de forma geral pelo SDK ou por uma ação externa.

  • CAP_COMPONENT_LICENSE_ERROR: A licença do componente não é válida, expirou ou não corresponde à configuração necessária.

  • CAP_EMPTY_LICENSE: A string de licença está vazia ou não foi fornecida.

  • CAP_FETCH_DATA_ERROR: Ocorreu um erro ao obter ou processar os dados necessários para executar o Fluxo. (Inclui informações adicionais no campo error.)

  • CAP_FLOW_ERROR: Ocorreu um erro interno durante a execução do Fluxo de captura. (Inclui informações adicionais no campo error.)

  • CAP_INITIALIZATION_ERROR: Erro ao inicializar os componentes necessários do SDK. (Inclui informações detalhadas no campo error.)

  • CAP_FILE_UPLOADER_CAPTURE_ERROR: Erro durante o processo de envio dos arquivos gerados na captura.

  • CAP_IMAGE_TOO_LARGE: A imagem selecionada na galeria excede o tamanho máximo configurado em maxGalleryImageSizeKb.

  • CAP_MANAGER_NOT_INITIALIZED: Os managers necessários para executar o processo não foram inicializados corretamente.

  • CAP_NO_DATA_ERROR: Os dados de entrada necessários são nulos, inexistentes ou insuficientes para continuar o processo.

  • CAP_OPERATION_NOT_CREATED: Não foi possível criar ou recuperar uma operação ativa necessária para continuar. (Inclui informações detalhadas no campo error.)

  • CAP_QR_CAPTURE_ERROR: Erro durante a captura ou leitura do código QR.

  • CAP_QR_GENERATION_ERROR: Erro ao gerar o código QR solicitado.

  • CAP_TIMEOUT: O tempo máximo permitido foi atingido em alguma das fases do processo.

  • CAP_FLOW_VIDEO_RECORDING_ERROR: Erro durante a Gravação de Vídeo dentro do Fluxo estabelecido.

  • CAP_FLOW_TRACKING_ERROR: Erro ao realizar o Tracking necessário para completar o Fluxo de captura.

Recepção do resultado correto - data

Recepção do resultado da captura de documentos

Na parte de SdkResult.Success - data, teremos a classe FileUploaderResult.

Os campos retornados no resultado são os seguintes:

capturedDocumentList

Lista de arquivos capturados. Podem ser imagens ou PDFs. Os campos retornados de cada um são:

  • mimeType

  • timestampMillis

  • content: Conteúdo do documento. Será diferente se for uma imagem ou um documento PDF. Para diferenciá-lo:

Recepção do resultado da captura de QR

Na parte de SdkResult.Success - data, teremos a classe QrResult.

Os campos retornados no resultado são os seguintes:

qrText

Texto obtido do QR

Recepção do resultado da geração de QR

Na parte de SdkResult.Success - data, teremos uma SdkImage com o QR criado.


Informações avançadas

Esta seção amplia as informações do componente.

Configuração avançada do componente

Configuração da captura de documentos

Para lançar o componente atual, deverá ser criado um objeto FileUploaderConfigurationData que será a configuração do controlador do componente.

A seguir, são detalhados todos os campos que fazem parte desta classe.

  • vibrationEnabled: Indica a ativação da vibração quando o Widget terminar com sucesso.

  • extractionTimeout: Define o tempo máximo durante o qual a captura pode ser realizada.

  • showDiagnostic: Exibe telas de diagnóstico ao final do processo.

  • showPreviousTip: Exibe uma tela antes do lançamento da captura com informações sobre o processo a ser realizado e um botão para iniciar.

  • maxScannedDocs: Número máximo de documentos que poderão ser capturados

  • allowGallery: O acesso à galeria é habilitado para a obtenção de imagens ou PDFs

  • onlyGalleryMode: Se estiver ativo, o Fluxo é aberto diretamente no modo galeria e não mostra a captura com câmera. Por padrão true.

  • maxGalleryImageSizeKb: Tamanho máximo permitido para imagens selecionadas da galeria, em KB. Por padrão 2048; se for excedido, é retornado CAP_IMAGE_TOO_LARGE.

Configuração da captura de QR

Para lançar o componente atual, deverá ser criado um objeto QrCaptureConfigurationData que será a configuração do controlador do componente.

A seguir, são detalhados todos os campos que fazem parte desta classe.

  • vibrationEnabled: Indica a ativação da vibração quando o Widget terminar com sucesso.

  • extractionTimeout: Define o tempo máximo durante o qual a captura pode ser realizada.

  • showDiagnostic: Exibe telas de diagnóstico ao final do processo.

  • showPreviousTip: Exibe uma tela antes do lançamento da captura com informações sobre o processo a ser realizado e um botão para iniciar.

  • showTutorial: Indica se o componente ativa a tela de tutorial. Nessa visualização, é explicado de forma intuitiva como a captura é realizada.

  • cameraShape: Permite escolher entre uma máscara quadrada e uma redonda.


Personalização do componente

Além das mudanças que podem ser realizadas no nível de SDK (as quais são explicadas no documento de (Personalização do SDK), este componente em específico permite a modificação de sua interface.

Textos

Se desejar modificar os textos do SDK, será necessário incluir o seguinte arquivo XML no aplicativo do cliente e modificar o valor de cada String pelo desejado.

Animações

Se desejar modificar as animações (lottie) do SDK, será necessário incluir as animações com o mesmo nome na pasta res/raw/ da aplicação.

Atualizado