Captura de documento

Nesta seção, você encontrará todas as informações necessárias para o uso e integração do SDK da plataforma Unico IDCloud em seus aplicativos Android para a captura do documento


Este guia foi elaborado para ajudá-lo a implementar o SDK Android de forma rápida e fácil. Abaixo veja o passo a passo de todo o processo de integração. Após isso, caso deseje personalizar a experiência, não deixe de ver a seção Personalização Android.

Frames de documentos disponíveis


Neste modo de câmera, existe um frame de captura para auxiliar o usuário a posicionar o documento corretamente. Após posicionar o documento corretamente, o usuário deve clicar no botão para realizar a captura da foto do documento.

Neste modo de câmera é possivel capturar os documentos:

  • CPF: Captura da frente do CPF;

  • CNH: Captura da CNH aberta;

  • CNH frente: Captura da frente da CNH;

  • CNH verso: Captura do verso da CNH;

  • RG frente: Captura da frente do RG;

  • RG verso: Captura do verso do RG;

  • Outros: Captura de qualquer outro documento.

Inicializar o SDK


Crie uma instância do builder (Gerado através da interface IAcessoBioBuilder), fornecendo como parâmetro o contexto em questão e a implementação da classe AcessoBioListener.

A implementação dessa classe é bem simples e pode ser feita com poucas linhas de código. Tudo que precisa fazer é instanciar o builder informando o contexto em questão e sobrescrever os métodos de callback com as lógicas de negócio de sua aplicação:

public class MainActivity extends AppCompatActivity {

    private AcessoBioListener callback = new AcessoBioListener() {
        @Override
        public void onErrorAcessoBio(ErrorBio errorBio) { }

        @Override
        public void onUserClosedCameraManually() { }

        @Override
        public void onSystemClosedCameraTimeoutSession() { }

        @Override
        public void onSystemChangedTypeCameraTimeoutFaceInference() { }
    };

    private IAcessoBioBuilder acessoBioBuilder = new AcessoBio(this, callback);
}

Implementar as funções de callback


Note que, o trabalho de implementação da classe AcessoBioListener é, em grande parte, a configuração dos métodos de callback. Cada método é chamado em uma situação específica de retorno do SDK.

Basta sobrescrever os métodos exemplificados no passo anterior com as lógicas de negócio de sua aplicação:

1

onErrorAcessoBio(ErrorBio errorBio)

Ao ser invocado, o método recebe um parâmetro do tipo ErrorBio que contem detalhes do erro. Saiba mais sobre o tipo ErrorBio na seção de tratamento de erros.

2

onUserClosedCameraManually()

Este método é invocado sempre quando o usuário fechar a câmera de forma manual, como por exemplo, ao clicar no botão "Voltar".

3

onSystemClosedCameraTimeoutSession()

Este método é invocado assim que o tempo máximo de sessão for atingido (Sem capturar nenhuma imagem).

4

onSystemChangedTypeCameraTimeoutFaceInference()

Este método é invocado assim que o tempo máximo para detecção do rosto de um usuário for atingido (Sem ter nada detectado). Neste caso, o modo de câmera é alterado automaticamente para o modo de captura manual (Sem a silhueta de captura inteligente).

Implementar listeners para eventos da câmera


A implementação destes métodos listeners deve ser feita através de uma instância da classe iAcessoBioSelfie.

O método de abertura da câmera, que é chamado na próxima etapa, precisa saber o que fazer ao conseguir capturar uma imagem com sucesso ou ao ocorrer algum erro no processo. É necessário informar "o que fazer" ao método de abertura da câmera através da implantação de listeners que são chamados em situações de sucesso ou erro.

Através da configuração dos listeners, você pode especificar o que acontece em seu App em situações de erro (Método onErrorDocument) ou sucesso (Método onSuccessDocument) na captura de imagens.

O exemplo abaixo ilustra a configuração dos listeners, build e abertura da câmera:

iAcessoBioDocument cameraListener = new iAcessoBioDocument() {
    @Override
    public void onSuccessDocument(ResultCamera result) { }

    @Override
    public void onErrorDocument(ErrorBio errorBio) { }
};

unicoCheckCamera.prepareDocumentCamera(unicoConfig, new DocumentCameraListener() {
    @Override
    public void onCameraReady(UnicoCheckCameraOpener.Document cameraOpener) {
        cameraOpener.open(DocumentType.CNH, cameraListener);
    }

    @Override
    public void onCameraFailed(String message) {
        Log.e(TAG, message);
    }
});

Preparar e abrir câmera


É necessário criar uma instância do builder através do método build(). Este método é disponibilizado através do objeto gerado com a interface IAcessoBioBuilder e classe AcessoBio:

UnicoCheckCamera unicoCheckCamera = acessoBioBuilder.build();  

O próximo passo é preparar a câmera utilizando o método prepareDocumentCamera() com o objeto retornado pelo builder (Nomeado como UnicoCheckCamera no exemplo acima).

O método prepareDocumentCamera() gera um objeto do tipo UnicoCheckCameraOpener.Document, que é utilizado para abrir a câmera com seu método open(), recebendo os parâmetros tipo de documento a ser capturado, sendo eles:

Parâmetro
Descrição

DocumentCameraType.CPF

Frame para captura da frente do CPF

DocumentCameraType.CNH

Frame para captura da CNH aberta

DocumentCameraType.CNH_FRENTE

Frame para captura da frente da CNH

DocumentCameraType.CNH_VERSO

Frame para captura do verso da CNH

DocumentCameraType.RG_FRENTE

Frame para captura da frente do RG

DocumentCameraType.RG_VERSO

Frame para captura do verso do RG

DocumentCameraType.None

Frame para captura de qualquer outro documento

Método onSucessDocument


Ao efetuar uma captura de imagem com sucesso, este método é invocado e retorna um objeto do tipo ResultCamera que é utilizado posteriormente na chamada das APIs REST:

public void onSuccessDocument(ResultCamera result) { }

O objeto ResultCamera retorna 2 atributos: base64 e encrypted:

  • O atributo base64 pode ser utilizado se quiser exibir uma prévia da imagem em seu app;

  • Tanto o atributo encrypted quanto o atributo base64 podem ser enviados na chamada das APIs REST do by Client.

Método onErrorDocument


Ao ocorrer algum erro na captura de imagem, este método é invocado e retorna um objeto do tipo ErrorBio:

public void onErrorDocument(ErrorBio errorBio) { }

Saiba maisobre os tipos de ErrorBio na seção de tratamento de erros do SDK.

Realize um requisição POST na API REST do by Client


A captura das imagens é apenas a primeira parte da jornada. Após capturar a imagem, é necessário enviar o base64 gerado pelo SDK para as APIs REST do by Client. Saiba mais na seção CreateProcess do by Client.


Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Atualizado

Isto foi útil?