Pular para o conteúdo principal

Integração nativa

Para importar nossas SDKs, é necessário realizar alteração no build.gradle de Projeto e de Aplicativo.

Adicionando ao Projeto

Adicione o endereço de nosso repositório maven no build.gradle do projeto (no Android Studio este arquivo aparece como: "Project: {nome_do_projeto}"), conforme exemplo abaixo.

buildscript {
...
}

allprojects {
repositories {
...
maven { url 'https://sdks.zaig.com.br/' }
}
}

Adicionando ao Aplicativo

Após isso, adicione a biblioteca que você pretende importar em seu build.gradle do app (no Android Studio este arquivo aparece como: "Module: {nome_do_projeto}.app"), incluindo a dependência apresentada abaixo.

android {
...
packagingOptions {
pickFirst '**/*.so'
}
...
splits {
abi {
enable true
universalApk true
reset()
include 'armeabi-v7a', 'x86', 'x86_64', 'arm64-v8a'
}
}
}
...
dependencies {
...
implementation 'com.zaig.android:documentrecognition:v1.10.0'
}

Iniciando a SDK

Para incorporar a SDK ao seu aplicativo você deve iniciar realizar a configuração do seu aplicativo de captura personalizado através de builder e submetê-lo como parâmetro via Intent Extra para a DocumentRecognitionActivity.

  Intent intent = new Intent(context, DocumentRecognitionActivity.class);

VisualConfiguration visualConfiguration = new VisualConfiguration()
.setOnboardingDrawable(R.drawable.introscreen,500)
.setDocumentFrontDrawable(R.drawable.documentfront, 500)
.setDocumentBackDrawable(R.drawable.documentback, 500);

TextConfiguration textConfiguration = new TextConfiguration()
.setCustomText(TextConfiguration.CustomLabel.onboardingTitle, "Vamos começar!")
.setCustomText(TextConfiguration.CustomLabel.onboardingFirstLabel, "- Vá para um local iluminado")
.setCustomText(TextConfiguration.CustomLabel.onboardingSecondLabel, "- Retire o documento do plástico")
.setCustomText(TextConfiguration.CustomLabel.onboardingThirdLabel, "- Insira seu documento na moldura, aguardando que fique verde para realizar a captura.");

DocumentRecognition mDocumentRecognition = new DocumentRecognition.Builder("YOUR_MOBILE_TOKEN_SENT_BY_QITECH")
.setDocumentSteps(DocumentSteps)
.setVisualConfiguration(visualConfiguration)
.setTextConfiguration(textConfiguration)
.showIntroductionScreens(true)
.setShowSuccessScreen(false)
.setBackgroundColor("#000000")
.setFontColor("#FFFFFF")
.setFontFamily(DocumentRecognition.FontFamily.open_sans)
.setSessionId("SESSION_ID")
.setLogLevel(FaceRecognition.LogLevel.debug)
.build();
intent.putExtra("settings", mDocumentRecognition);
startActivityForResult(intent, REQUEST_CODE);

Utilizamos um Mobile Token para permitir o acesso autenticado do seu aplicativo a nossa API. Ela provavelmente já foi enviada por e-mail para você. Caso ainda não tenha recebido o seu token, envie um e-mail para suporte.caas@qitech.com.br.

Nossa API espera receber o Mobile Token em todas as requisições ao nosso servidor vindas da SDK, portanto, este deve ser obrigatoriamente incluido como parâmetro de configuração através do método mencionado anteriormente.

Atenção

Você deve substituir <code>"YOUR_MOBILE_TOKEN_SENT_BY_QITECH"</code> com o Mobile Token recebido do suporte.

DocumentRecognition.Builder

ParâmetroFunçãoObrigatório
mobileTokenChave do cliente que identifica que os dados coletados são provenientes do seu aplicativo. Caso ainda não tenha recebido o seu mobile-token, entre em contato com o mailto: suporte.caas@qitech.com.br.Sim.
.setDocumentSteps(DocumentRecognitionStep[] documentSteps)Define o fluxo de captura de documentos realizado pelo usuário. Mais informações aquiSim.
.setSandboxEnvironment()Caso este parâmetro seja utilizado no construtor, a biblioteca será configurada para enviar os dados ao ambiente de sandbox. Caso ausente, as requisições são enviadas para o ambiente production.Não.
.showIntroductionScreens(Boolean showIntroductionScreens)Quando "false" desativa as telas de introdução à coleta de foto do documento que aparecem para o usuário.Não. O padrão é "true".
.setShowSuccessScreen(Boolean showSuccessScreen)Quando "false" desativa a tela de sucesso após a coleta da foto.Não. O padrão é "true".
.setBackgroundColor(String backgroundColor)Permite a configuração da cor de background das activities da SDK.Não. O padrão é "#ffffff".
.setFontColor(String fontColor)Permite a configuração da cor da fonte e dos ícones das activities da SDK.Não. O padrão é "#000000".
.setFontFamily(FontFamily fontFamily)Permite a configuração da fonte das activities da SDK.Não. Caso não seja informada o padrão é FontFamily.open_sans. Fontes disponíveis: FontFamily.open_sans, FontFamily.futura, FontFamily.verdana, FontFamily.roboto, FontFamily.poppins e FontFamily.helvetica.
.setVisualConfiguration(VisualConfiguration visualConfiguration)Utilizado para customizar as imagens mostradas para o usuário ao longo da execução da SDK.Não.
.setTextConfiguration(TextConfiguration textConfiguration)Utilizado para customizar os textos da tela introdutória de onboarding mostradas para o usuário ao longo da execução da SDK.Não.
.setSessionId(String sessionId)Utilizado para definir a chave que identifica a sessão iniciada na SDK. É usada para rastrear todo fluxo percorrido pelo usuário na execução da FaceRecon através de logs. Este campo aceita até 255 caracteres.Não.
.setLogLevel(DocumentRecognition.LogLevel logLevel)Utilizado para customizar o nível de verbosidade dos logs da SDK. Níveis disponíveis: LogLevel.debug, LogLevel.info, LogLevel.warn, LogLevel.error e LogLevel.trace. O padrão é LogLevel.debug.Não.

O Objeto VisualConfiguration

ParâmetroFunçãoObrigatório
.setOnboardingDrawable(int onboarding_drawable, int onboarding_width)Utilizado para configurar a imagem mostrada para o usuário na tela de onboarding da SDK. O parâmetro onboarding_drawable deve referenciar o id da imagem a ser mostrada e onboarding_width é o tamanho desejado de exibição desta imagem.Não.
.setDocumentFullDrawable(int documentfull_drawable, int documentfull_width)Utilizado para configurar a imagem mostrada para o usuário na tela de captura de CNH inteira da SDK. O parâmetro documentfull_drawable deve referenciar o id da imagem a ser mostrada e documentfull_width é o tamanho desejado de exibição desta imagem.Não.
.setDocumentFrontDrawable(int documentfront_drawable, int documentfront_width)Utilizado para configurar a imagem mostrada para o usuário na tela de captura de CNH e RG frente da SDK. O parâmetro documentfront_drawable deve referenciar o id da imagem a ser mostrada e documentfront_width é o tamanho desejado de exibição desta imagem.Não.
.setDocumentBackDrawable(int documentback_drawable, int documentback_width)Utilizado para configurar a imagem mostrada para o usuário na tela de captura de CNH e RG verso da SDK. O parâmetro documentback_drawable deve referenciar o id da imagem a ser mostrada e documentback_width é o tamanho desejado de exibição desta imagem.Não.
.setButtonBorderSize(int border_size)Utilizado para configurar a largura de borda dos botões da SDK.Não. O padrão é 1.
.setButtonShadow(boolean button_shadow)Quando setado para false remove o efeito de sombra, padrão no android, utilizado pelos botões da SDK.Não. O padrão é true.

O Objeto TextConfiguration

ParâmetroFunçãoObrigatório
.setCustomText(CustomLabel label, String text)Utilizado para configurar os textos mostrados para o usuário na tela de onboarding da SDKNão.