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:v3.1.0'
}
Desde abril de 2025, novas políticas da Google Play requerem Android API Level 35 para que aplicativos possam ser publicados ou atualizados na Google Play Store. Por isso recomendamos fortemente que utilize targetSdkVersion na versão 35 pelo menos.
A utilização de targetSdkVersion 35 implica na utilização do compileSdkVersion 35, o que desencadeia alguns requisitos mínimos para ferramentas do ecossistema do Android:
- compileSdkVersion 35 --> AGP 8.6.0
- AGP 8.6.0 --> Gradle 8.7
- AGP 8.6.0 --> Java 17 (JDK 17)
- AGP 8.6.0 --> Kotlin 2+
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.
Você deve substituir <code>"YOUR_MOBILE_TOKEN_SENT_BY_QITECH"</code> com o Mobile Token recebido do suporte.
DocumentRecognition.Builder
Parâmetro | Função | Obrigatório |
---|---|---|
mobileToken | Chave 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 aqui | Sim. |
.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âmetro | Função | Obrigató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âmetro | Função | Obrigatório |
---|---|---|
.setCustomText(CustomLabel label, String text) | Utilizado para configurar os textos mostrados para o usuário na tela de onboarding da SDK | Não. |