Nesta seção, você encontrará todas as informações necessárias pra implementar o SDK Android da plataforma Unico IDCloud
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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
Nesta seção, você encontrará todas as informações necessárias para instalação do SDK da plataforma Unico IDCloud em seus aplicativos Android
É necessário que seu ambiente de desenvolvimento esteja de acordo com os seguintes pré-requisitos:
O componente de captura disponibilizado por meio do SDK Android dá suporte às versões igual ou superiores para as tecnologias:
Android: 5.0 (API 21);
Kotlin: 1.6.
Este SDK não funciona em emuladores, somente em dispositivos físicos.
O SDK Android é compatível com a grande maioria dos dispositivos que possuam Android 5.0 (API de nível 21) ou versões superiores.
A tabela a seguir lista os dispositivos testados em laboratório, além da disponibilidade das extensões do fornecedor/fabricante. Algumas extensões listadas podem estar sujeitas as API ou SKUs específicos do fabricante. Clique abaixo para ver os dispositivos testados:
Para implementar o SDK Android da plataforma Unico IDCloud ao seu aplicativo Android, siga o passo a passo listado abaixo:
O SDK Android é disponibilizado através de um Repositório Maven, adicione ao bloco repositories do arquivo build.gradle
existente na raiz do seu projeto:
Habilite o suporte ao AndroidX ao em seu arquivo gradle.properties
na raiz de seu projeto (isto garante uma melhor performance e funcionamento do frame de captura):
Após configurar o SDK Android, basta importá-lo em seu projeto. Para isto, adicione acessobio-android
ao bloco dependencies
do arquivo app/build.gradle
.
A dependência deve ser incluída em um arquivo diferente do que foi utilizado no passo anterior. Neste passo, é necessário utilizar o arquivo build.gradle
referente ao módulo e não ao projeto:
Ao compilar o projeto, você pode se deparar com o seguinte erro:
Invoke-customs are only supported starting with android 0 --min-api 26
Por incompatibilidade da versão do frame min-26. Adicione as linhas a seguir ao bloco compileOptions, no mesmo arquivo app/build.gradle
:
Entre em contato com o CSs e/ou time de Onboarding.
Solicite a SDK Key informando os identificadores de suas aplicações. Bundle Identifier para iOS, PackageID para Android e Host para WEB.
Os identificadores de suas aplicações serão vinculados a SDK Key pela equipe da Unico.
Você recebe a sua SDK Key para implementar o AcessoBioConfigDataSource
Pronto. Finalizada a instalação do SDK, siga para a implementação lendo o material Guia de uso e integração a seguir:
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.
Nesta seção, você encontrará a solução de alguns problemas comuns na integração do SDK da plataforma Unico IDCloud em seus aplicativos Android
O material de ofuscação tem por motivação servir de auxilio para o desenvolvedor passar pelos problemas de ofuscação em seu aplicativo.
O ofuscador do cliente pode afetar o funcionamento do SDK, é necessário que o mesmo não ofusque o código do SDK.
A Unico se isenta da responsabilidade em relação à conflitos de ofuscação com a SDK.
O ofuscamento é um processo de transformar o bytecode em uma forma menos legível por humanos, dificultando assim a engenharia reversa.
Esse processo consiste em remover informações relacionadas a depuração como tabelas de variáveis, número de linhas e renomear os pacotes, classes e métodos.
Ao embarcar a SDK Adroid na aplicação podem ocorrer falhas.
Quando o ofuscamento foi realizado via DexGuard, ao ocorrer a falha utilize as regras:
Quando o ofuscamento foi realizado via ProGuard, ao ocorrer a falha utilize as regras:
Altere o repositório Maven para o novo repositório no arquivo build.gradle
do projeto.
A implementação era feita da seguinte forma:
Agora deve ser atualizado para o novo repositório:
Altere a dependência do SDK para a nova dependência no arquivo app/build.gradle
do projeto.
A implementação era feita da seguinte forma:
Agora deve ser atualizado para a nova dependência:
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 da selfie
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 .
Crie uma instância do builder (Gerado através da interface IAcessoBioBuilder
), fornecendo como parâmetro o contexto e ambiente 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:
Configure o ambiente que será utilizado na execução da SDK. Utilize o enumerado Environment
que contém os seguintes enumerados:
Environment.PROD
: para ambiente de Produção;
Environment.UAT
: para ambiente de Homologação.
Veja como implementar no exemplo abaixo:
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.
Este método é invocado sempre que qualquer erro de implementação ocorrer ao utilizar algum de nossos métodos:
onErrorAcessoBio(ErrorBio errorBio)
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".
onSystemClosedCameraTimeoutSession()
Este método é invocado assim que o tempo máximo de sessão for atingido (Sem capturar nenhuma imagem).
Pode ser configurado no builder através do método setTimeoutSession. Este método deve receber o tempo máximo da sessão em segundos. É possível alterar o tempo máximo de sessão do seu usuário ao utilizar a funcionalidade de detecção do rosto (Câmera de selfie com captura inteligente). Caso ele ultrapasse o tempo determinado em seu processo para capturar a foto, você pode apresentar alguma mensagem personalizável ou instrução ao usuário. O valor padrão é de 40 segundos e seu valor mínimo também é de 40 segundos.
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).
O tempo máximo de captura ao utilizar a detecção do rosto (Câmera de selfie com captura inteligente) é de 13 segundos. Se o usuário encontra alguma dificuldade para captura da foto através da detecção do rosto e ultrapasse o tempo determinado em seu processo, a captura é alterada automaticamente para a manual, tendo como objetivo facilitar a ação para o usuário (TimeoutToFaceInference).
Todos os métodos acima devem ser criados da forma indicada em seu projeto (Mesmo que sem nenhuma lógica). Caso contrário, o projeto não compila com sucesso.
O SDK tem configurado e habilitado por padrão o enquadramento inteligente e a captura automática. Em função disso, deve-se configurar o modo de câmera no seu builder da seguinte forma:
Os valores false/true dos métodos acima não alteram a experiência de captura, servem apenas para a lógica interna do funcionamento do SDK.
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 onErrorSelfie
) ou sucesso (Método onSuccessSelfie
) na captura de imagens.
Mudanças da nomenclatura para as versões inferiores a 4.2.1:
Do método prepareCamera
que antes era prepareSelfieCamera
;
Da classe CameraListener
que antes era SelfieCameraListener
;
Do objeto UnicoCheckCameraOpener.Camera
que antes era UnicoCheckCameraOpener.Selfie
.
Para a configuração dos listeners, é necessário implementar:
Quando a câmera estiver preparada, é disparado o evento onCameraReady
, que recebe como parâmetro um objeto do tipo UnicoCheckCameraOpener.Camera
.
É necessário sobrescrever este método, efetuando a abertura da câmera com o objeto recebido através do método open()
. O método open()
deve receber como parâmetro os listeners configurados nos passos acima.
onSucessSelfie
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:
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;
O atributo encrypted
é destinado estritamente ao envio da imagem através das APIs do by Client. Não se deve abrir e serializar esse atributo, pois suas características podem ser alteradas sem aviso prévio. Seu uso deve ser exclusivo nas interações com as APIs para garantir a integridade e segurança dos dados. A Unico não se responsabiliza por quaisquer danos decorrentes dessa prática, uma vez que as modificações podem ocorrer de maneira imprevista.
Os arquivos base64/encrypted
podem sofrer variações de tamanho de acordo com diversas variáveis, dentre elas, a qualidade dos aparelhos e das fotos geradas pelos mesmos e regras de negócio da Unico. Para não encontrar problemas em sua aplicação, não limite em sua lógica de programação ou sua infraestrutura o tamanho da string gerada pela SDK para os arquivos.
onErrorSelfie
Ao ocorrer algum erro na captura de imagem, este método é invocado e retorna um objeto do tipo ErrorBio
:
Por motivos de segurança, o intervalo entre a geração do encrypted
e o envio via um dos fluxos disponíveis deve ser de até no máximo 10 minutos. Envios feitos além deste período serão rejeitados automaticamente pela API.
Nesta seção, você encontrará todas as informações necessárias para a customização do SDK da plataforma Unico IDCloud em seus aplicativos Android
O SDK Android permite que algumas personalizações sejam feitas. Abaixo veja todas as personalizações possíveis para este SDK.
É possível configurar a experiência das mensagens informativas dos frames de captura alterando seu idioma. Utilize o enumerado LocaleTypes
que contém os seguintes valores:
LocaleTypes.PT_BR
: para Português(Brasil);
LocaleTypes.ES_MX
: para Espanhol(México);
LocaleTypes.ES_ES
: para Espanhol(Espanha);
LocaleTypes.EN_US
: para Inglês(EUA).
Veja como implementar no exemplo abaixo:
Pode ser necessário uma ativação remota para ser utilizado, caso deseje usar, sinalize seu gerente de projetos ou o suporte da Unico.
Caso não seja configurado, por padrão o SDK utiliza o Português como idioma principal.
Esta é uma etapa opcional, porém muito recomendada para que o processo de captura tenha a identidade visual da sua empresa.
É possível customizar alguns objetos do frame de acordo com o modo de câmera utilizado, através do método setTheme()
.
Os tipos suportados para representação de cor são Color Resource ou String contendo o código hexadecimal da cor. Ex: R.color.red ou #FF0000.
Todos os métodos estão disponíveis abaixo:
Também é possível realizar personalizações de forma estática, no seu arquivo colors.xml adicione o seguinte código:
Abaixo, confira a especificação de campos da personalização:
Esta é uma etapa opcional, porém muito recomendada para que o processo de captura tenha a
Esta é uma etapa opcional, porém muito recomendada para que o processo de captura tenha a identidade visual da sua empresa.
É possível customizar alguns objetos do frame de acordo com o modo de câmera utilizado, através do método setTheme()
.
Os tipos suportados para representação de cor são Color Resource ou String contendo o código hexadecimal da cor. Ex: R.color.red ou #FF0000.
Todos os métodos estão disponíveis abaixo:
Também é possível realizar personalizações de forma estática, no seu arquivo colors.xml adicione o seguinte código:
Abaixo, confira a especificação de campos da personalização:
Nesta seção, você encontrará todas as informações necessárias para o tratamento dos erros do SDK da plataforma Unico IDCloud em seus aplicativos Android
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 .
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.
A SDK não realiza nenhum tipo de validação do que está sendo capturado.
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.
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:
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:
onErrorAcessoBio(ErrorBio errorBio)
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".
onSystemClosedCameraTimeoutSession()
Este método é invocado assim que o tempo máximo de sessão for atingido (Sem capturar nenhuma imagem).
Pode ser configurado no builder através do método setTimeoutSession. Este método deve receber o tempo máximo da sessão em segundos. É possível alterar o tempo máximo de sessão do seu usuário ao utilizar a funcionalidade de detecção do rosto (Câmera de selfie com captura inteligente). Caso ele ultrapasse o tempo determinado em seu processo para capturar a foto, você pode apresentar alguma mensagem personalizável ou instrução ao usuário. O valor padrão é de 40 segundos e seu valor mínimo também é de 40 segundos.
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).
O tempo máximo de captura ao utilizar a detecção do rosto (Câmera de selfie com captura inteligente) é de 13 segundos. Se o usuário encontra alguma dificuldade para captura da foto através da detecção do rosto e ultrapasse o tempo determinado em seu processo, a captura é alterada automaticamente para a manual, tendo como objetivo facilitar a ação para o usuário (TimeoutToFaceInference).
Todos os métodos acima devem ser criados da forma indicada em seu projeto (Mesmo que sem nenhuma lógica). Caso contrário, o projeto não compila com sucesso.
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:
É 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
:
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:
Caso precise capturar um documento que não possuímos um frame específico (ex: RNE, entre outros), utilize o frame DocumentCameraType.None
, que irá te possibilitar um frame genérico, retangular, que pode ser utilizado para orientar qualquer captura.
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:
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;
onErrorDocument
Ao ocorrer algum erro na captura de imagem, este método é invocado e retorna um objeto do tipo ErrorBio
:
A partir da versão 4.4.x do SDK, o Unico começou a usar seu próprio repositório Maven para distribuir o Android SDK e alterou o nome da dependência do SDK, além de ajustes nas regras do ProGuard e do DexGuard para clientes que utilizam a biblioteca da GuardSquare conforme descrito na seção de acima.
Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .
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 .
Para seguir com a abertura da câmera, primeiro é necessário prepará-la utilizando o método prepareCamera. Este método recebe como parâmetro a implementação da classe CameraListener
, a classe ou o JSON com as credenciais, gerado .
O atributo encrypted
deve ser enviado na chamada das APIs REST do .
Saiba mais sobre os tipos de ErrorBio
na seção de do SDK.
Se for necessário converter o base64 para bitmap, a maneira padrão não funciona para o Android. É necessário realizar o split a partir da vírgula(,
) para que funcione. Se quiser saber mais, leia o artigo: .
A captura das imagens é apenas a primeira parte da jornada. Após capturar a imagem, é necessário enviar o encrypted
gerado pelo SDK para as APIs REST do by Client. Saiba mais na seção .
Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .
Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .
Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .
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 .
Parâmetro | Descrição |
---|
Tanto o atributo encrypted
quanto o atributo base64
podem ser enviados na chamada das APIs REST do .
Se for necessário converter o base64 para bitmap, a maneira padrão não funciona para o Android. É necessário realizar o split a partir da vírgula(,
) para que funcione. Se quiser saber mais, leia o artigo .
Saiba maisobre os tipos de ErrorBio
na seção de do SDK.
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 .
Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .
Possuir a versão 9 ou superior do Android Studio instalado (IDE oficial de desenvolvimento do Google);
Possuir a versão do SDK Android na versão 21 ou superior;
Possuir o repositório Maven da Unico configurado.
| Frame para captura da frente do CPF |
| Frame para captura da CNH aberta |
| Frame para captura da frente da CNH |
| Frame para captura do verso da CNH |
| Frame para captura da frente do RG |
| Frame para captura do verso do RG |
| Frame para captura de qualquer outro documento |
| Método utilizado para obter o código de erro ocorrido |
| Método utilizado para obter a descrição de erro ocorrido |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nesta seção, você encontrará todas as atualizações do SDK Android
Mantenha seu SDK Android sempre atualizado com a última versão disponível.
O versionamento semântico é utilizado para numerar as versões. Para mais informações, consulte o artigo Visão Geral.
Guia de atualização para versão 5.x.x
A atualização major que esta sendo implementada a partir da versão 5.x.x deveria ter sido realizada no lançamento da versão 4.4.0. Esta alteração está relacionada à ofuscação de código e exige ajustes nas regras do ProGuard e do DexGuard para clientes que utilizam a biblioteca da GuardSquare.
Além disso, o repositório onde a SDK é disponibilizada mudou e também houve alteração no nome da dependência do SDK. Você deve atualizar seus registros de acordo com o artigo Atualização do SDK versão 4.3.x.
Atualização do SDK e server do Liveness com interação.
Atualização do SDK e server do Liveness com interação.
Atualização do SDK e server do Liveness com interação;
Melhorias internas no produto, sem impacto externo.
Correção na câmera de documento, onde em alguns cenários ocorria um crash após a captura.
Atualização do SDK e server do Liveness com interação;
Melhorias internas no produto, sem impacto externo;
Atualização do SDK e server do Liveness com interação;
Melhorias internas no produto, sem impacto externo.
Correção na resposta das requisições internas da sdk, onde em alguns casos quando não havia internet, o callback de erro não era devolvido e mantinha o usuário preso na tela.
Melhorias internas no produto, sem impacto externo.
Melhorias internas no produto, sem impacto externo.
Correção de localização setLocale()
na captura com Liveness interativo.
Correção de erros internos que não afetam a experiência do usuário final.
Melhorias internas de produto. Essas melhorias não afetam diretamente a experiência do usuário final, mantendo a interface e funcionalidades externas inalteradas.
Melhorias de segurança em nosso Liveness;
A partir de agora, os desenvolvedores serão notificados em tempo real durante o desenvolvimento se a versão utilizada não estiver em conformidade com as políticas de atualização da Unico. Em casos de dúvidas, contacte o seu CSM;
A partir de agora, é possível definir o ambiente da SDK pela própria API pública no método setEnvironment()
. Em casos de dúvidas, contate o seu CSM.
Atualização Crítica
Atualização do SDK e server do Smartlive com interação.
Melhorias nos algoritmos de comunicação entre o clientside e serverside unico.
Correção do erro current host is not registred
em ambiente de homologação.
Melhorias internas no produto, sem impacto externo.
Atualização Crítica
Atualização do SDK e server do Smartlive com interação;
Melhorias nas verificações de injeção de vídeo recentemente adicionadas no lado do dispositivo e no lado do servidor para mitigar ameaças de IA generativa.
Atualização Crítica
Atualização do SDK e server do Smartlive com interação;
Melhorias nas verificações de injeção de vídeo recentemente adicionadas no lado do dispositivo e no lado do servidor para mitigar ameaças de IA generativa.
Melhorias e correções na inicialização da SDK, evitando a perda de 1.5% das sessões.
Atualização do SDK e server do Smartlive com interação.
Novas funcionalidades que melhoram a experiência de captura no Liveness Interativo.
Melhorias nas verificações de injeção de vídeo recentemente adicionadas no lado do dispositivo e no lado do servidor para mitigar ameaças de IA generativa.
Correção no botão de fechar na captura de liveness interativo, em alguns cenários uma tela de loading pode aparecer por tempo indeterminado.
Correção no ciclo de vida da captura, em cenários onde a tela é encerrada antes do callback de sucesso ou erro.
Correção na geolocalização, em cenários onde a aplicação pode parar quando for desabilitada.
Correção na compatibilidade em estilos predefinidos, causando conflitos entre <attr ... />
.
Atualização Crítica
Melhorias nas verificações de injeção de vídeo recentemente adicionadas no lado do dispositivo e no lado do servidor para mitigar ameaças de IA generativa;
Nova funcionalidade de captura para garantir segurança eficaz;
Atualização do SDK e server do Smartlive com interação;
Fix camera traseira no modelo Multilaser M8.
Habilitamos a customização da cor da barra de progresso através do método opcional setColorProgressBar()
;
Habilitamos a customização dos textos da UI do liveness interativo via configuração remota;
Habilitação a customização do logo abaixo do frame de captura do smartlive com interação.
Atualização do SDK e server do Smartlive com interação;
Melhoria interna no produto, sem impacto externo.
Melhorias nos registros de log do SDK;
Melhoria interna no produto, sem impacto externo.
Correção do problema relacionado a orquestração thread's de retorno ao cliente que impactava a captura biométrica quando fluxo de retentativa habilitado.
Essa versão visa proporcionar uma experiência mais estável e eficiente. Requer apenas atualização da SDK.
Disponibilizado código e descrição do erro retornado pelo callback onCameraFailed, facilitando seu monitoramento e mapeamento;
Definição automática de ambientes de produção e homologação no SDK;
Otimização no fluxo de gerar JWT melhorando a performance.
Melhoria no fluxo de autenticação, reduzindo falhas na autenticação de dispositivos com configurações específicas no Sistema Operacional. Essa modificação visa proporcionar uma experiência mais estável e eficiente. Importante destacar que essa melhoria requer apenas a atualização da SDK para que os benefícios sejam integralmente aplicados.
Atualização do SDK e server do Smartlive com interação.
Melhoria internas no produto, sem impacto externo.
Melhorias internas;
Ao receber uma config inválida o erro é retornado pelo callback onCameraFailed
e não mais pelo exception do UnicoCheckException.
Hotfix: Câmera de Documento com Liveness habilitado;
Hotfix: Modo escuro não respeita as cores customizadas em alguns dispositivos Xiaomi.
Disponibilizar o novo fluxo de captura e retentativas quando usado o Liveness com Interação (entrar em contato com a único caso queira habilitar essa nova funcionalidade);
Lançar erro 73800
caso haja falha na captura usando o fluxo de retentativa;
Lançar erro 73100
caso haja falha de conexão com internet durante uma requisição;
Removido o timeout do fluxo de captura usando Livenes com Interação.
Hotfix: Corrigido callbacks internos como opcionais prevenindo possíveis erros relacionados a propriedades não inicializadas;
Hotfix: Reforçado a clareza das mensagens de erro para desenvolvedores, em especial quando há ausência da implementação da AcessoBioListener, tornando mais intuitivo o processo de correção;
Hotfix: Alterado as regras de ofuscação para garantir que a classe UnicoCheckException não seja ofuscada e os erros sejam exibidos corretamente no console e nos logs;
Hotfix: Otimizado a inicialização do objeto bioConfig evitando erros internos.
Hotfix: Corrigido um problema na configuração do SDK através do arquivo JSON.
Hotfix: Corrigido erro de caractere afetando build;
Hotfix: Modo baixa luminosidade não altera a cor dos textos.
Hotfix: Aplicação não respondendo, ARN;
Hotfix: Modo alta luminosidade não altera a cor dos texto;
Hotfix: Erro internal exception.
Atualização do SDK client e server do Smartlive com interação.
Melhoria de segurança na comunicação da SDK.
Hotfix: Timeout na câmera traseira.
Atualização do SDK client e server do Smartlive com interação;
Atualização das mensagens do Smartlive com interação;
Atualização da biblioteca de CameraX
Adicionado timeout na câmera de liveness com interação;
Hotfix: Câmera de documento.
Hotfix: compatibilidade com Android 8.0.
Melhoria de compatibilidade com a ferramenta de ofuscação;
Melhoria de segurança na comunicação da SDK;
Nova URL do repositório para download do SDK;
Alteração do nome do SDK de com.github.acesso-io:acessobio-android para io.unico:capture;
Suporte para o Kotlin a partir da versão 1.5.
Atualização do SDK client e server do Smartlive com interação.
Hotfix: Suporte ao tema dark.
Hotfix: Compatibilidade ofuscação.
Hotfix: Geolocalização em casos de endereço nulo;
Hotfix: Tempo de expiração da câmera de documentos;
Hotfix: Implementação de projeto com sentry.
Hotfix: Abertura de camera traseira;
Atualização da versão do modo de câmera de selfie com prova de vida da FaceTec.
Feat: segurança no changelog;
Feat: Atualização da SDK e server do Smartlive com interação.
Fix: Suporte a uso do modo de câmera com captura automática em tablets;
Fix: Conflito com sentry.
Atualização da SDK e server do Smartlive com interação;
Coleta de dados de uso, geolocalização e dispositivo (Os dados coletados são usados para garantir a segurança do processo e melhorar a experiência do usuário);
Correção do bug para abrir a câmera em dispositivos com Android 6.0.1.
Hotfix: Prefixo da url.
Hotfix: Contorno da silhueta na cor branca.
Uma nova camada de segurança;
Atualização da versão do modo de câmera de selfie com prova de vida da FaceTec.
Hotfix: Melhoria da lentidão na main thread;
Hotfix: Tratamento dos retornos de erro onBackPressed, bitmap e no available camera.
Novo incremento de segurança;
Ajuste na resolução das imagens;
Hotfix: Ajuste no uso de captura de documentos usando uma APIKey com Smartlive ativo habilitado;
Hotfix: Ajustes na configuração de timeout da câmera de documentos.
Hotfix: Ajuste no frame de captura de documentos genéricos;
Hotfix: Correção de nomenclaturas que causavam conflito de themes;
Hotfix: Melhoria na coleta de logs de erro.
Indicador de atividade agora possui mesma cor que a mensagem na customização;
Possibilidade de executar os métodos prepareSelfieCamera e prepareDocumentCamera sem o arquivo json, utilizando uma interface do tipo AcessoBioConfigDataSource.
Hotfix: ajuste no lifecycle do frame de captura com interação.
Melhoria da resolução da imagem gerada pelo modo de câmera de selfie com prova de vida da FaceTec para celulares de qualidade média/alta;
Atualização do google play services ML Kit face detection para a versão 17.0.1.
Atualização da versão do modo de câmera de selfie com prova de vida da FaceTec;
Remoção de pedidos de permissões que não estavam sendo usados.
Ajuste no tema padrão para o modo de baixa luminosidade modo de câmera de selfie com prova de vida da FaceTec.
Customização do botão de fechar camera;
Correções de erros na customização de sucesso.
Ajuste para otimizar performance;
Ajuste no seletor de câmera para dispositivos com múltiplas câmeras.
Ajuste nas configurações que geram o objeto encriptado unico;
Correções em configuração de Temas;
Resolução de conflitos com bugfender.
Downgrade do Kotlin para 1.4.0;
Ajuste ao abrir a câmera pela segunda vez.
Correção no encrypted.
Ajuste de dependencias para tornar as bibliotecas do SDK Android compativeis com minCompileSdk 30.
Adicionada compatibilidade com java 8;
Adicionado frames de captura de CNH frente e CNH verso.
Correção de erro no jitpack.
Update da biblioteca GSON para versão 2.8.9;
Ajuste no módulo de abertura de câmera.
Foi corrigido o bug no módulo de abertura da câmera de documentos.
Foi corrigido o bug que deixa o debug lento ao utilizar o SDK Android.
Foi corrigido o bug referente a: request prepare camera.
A partir de agora, o SDK Android conta com a funcionalidade de Prova de Vida. Para atualizar essa nova versão do SDK, solicite junto ao seu gestor de contas a documentação correspondente a nova implementação e ativação da funcionalidade para sua operação;
O SDK Android está ainda mais seguro.
A partir dessa versão é necessário adicionar no projeto o arquivo: unico-check-mobile-services.json. Procure o customer success ou o gestor de contas para ter acesso ao Portal do Cliente e seguir o passo a passo necessário;
Foi disponibilizado mais um frame de captura em documentos: CPF.
Não é permitido o uso da câmera em emuladores.
Ajuste na captura do log de erro.
Correção de espelhamento de imagem ao utilizar a câmera do tipo "Documento".
Mudança na estrutura de classes.
Mudança na estrutura de classes.
Refatoração de funções públicas, permitindo o retorno assync dentro da própria função;
Refatoração nos métodos disableAutoCapture e disableSmartFrame;
Correção de bug de enquadramento de face;
Correção de bug de travamento de tela após a captura.
Troca do motor de tracking biométrico, foi migrado do FirebaseMLVision para FaceDetectorMLKit;
Foi atualizada a API padrão de abertura de câmera, migramos da API de Camera2 para API de CameraX;
Foram obtidos ganhos significativos na gerência de ciclo de vida, memória, processamento e aumentando a compatibilidade de dispositivos que são suportados;
Foi removida a necessidade da implementação do Firebase para o uso das tecnologias do SDK Android, diminuindo consideravelmente a fricção na integração e evitando conflitos que anteriormente ocorriam;
Foram removidos todos os métodos de processos REST da API pública, garbages code e realizamos outras melhorias.
A SDK está mais segura com novos métodos de criptografia em real-time;
A SDK está mais rápida e precisa na detecção de faces com melhorias dos modelos de IA para o câmera inteligente;
Agora é possível configurar o tempo máximo de sessão do seu usuário;
Agora é possível configurar o tempo máximo de captura ao utilizar a detecção da face (smart câmera). Caso o usuário encontre alguma dificuldade para capturar a foto através da detecção de face e ultrapasse o tempo determinado em seu processo, a captura será alterada automaticamente para a manual, visando facilitar a ação para o usuário.
Depreciamos todos os métodos referentes a requisições REST, que outrora permitiam a criação de processos dentro da v3 do unico-onboarding diretamente da SDK.
Nesta versão trazemos grande otimização no tamanho da SDK, diminuindo em 75% do tamanho anterior;
Foram incluidas melhorias de performance.
A SDK está 42% mais leve com a remoção de várias intra-dependências e remoções de garbage-code;
A SDK está mais segura com novos métodos de criptografia em real-time;
A SDK está mais rápida com os novos modelos de IA para o câmera inteligente;
Foram removidos todos os métodos que permitiam acesso ao Liveness com interação.
Foi removido o método de validação REST no fluxo básico de captura de documentos.
Atualização do Firebase ML-Vision 19.0.3 para 24.1.0;
Atualização do Google Services 4.3.3 para 4.3.5.
Agora é possível customizar todos os elementos visuais utilizando também cores no formato hexadecimal. Lembrando que os formatos padrões dos SO's continuam ativos, como UIColor para iOS e Colors para Android;
Foi adicionado um novo método de retorno para notificar a sua classe implementadora no momento em que o usuário fechar a câmera manualmente;
Foi corrigido o retorno do método de FaceMatch, devolvendo o objeto completo com base64 da selfie, base64 do documento e o status de FaceMatch.
Agora é possível customizar todos os elementos visuais utilizando também cores no formato hexadecimal. Lembrando que os formatos padrões dos SO's continuam ativos, como UIColor para iOS e Colors para Android;
Foi adicionado um novo método de retorno para notificar a sua classe implementadora no momento em que o usuário fechar a câmera manualmente;
Foi corrigido o retorno do método de FaceMatch, devolvendo o objeto completo com base64 da selfie, base64 do documento e o status de FaceMatch;
Outras limpezas.
Foi adicionado um novo método de callback (retorno) para notificar a sua classe implementadora no momento em que o usuário fechar a câmera manualmente;
Foi corrigido o callback do método de FaceMatch, devolvendo o objeto completo com base64 da selfie, base64 do documento e o status de facematch;
Outras limpezas.
Novas validações prévias, facilitando a visibilidade de qualquer tipo de anormalidade quanto ao setup previamente a abertura de câmera em si;
Pequenas melhorias e limpeza em toda solução.
Pequenas correções de bugs e melhorias no fluxo de permissões.
Posibilidade de customizar a imagem do ícone de popup de reset de sessão dentro do fluxo do Liveness com interação;
Foi removida a obrigatoriedade da tag allowBackups em AndroidManifest.
Possibilidade de personalizar todos os elementos visuais utilizando cores em formato hexadecimal. Os formatos padrão permanecem ativos;
Foi adicionado um novo método de callback para notificar sua classe implementadora no momento em que o usuário fecha manualmente a câmera;
Foram corrigidos pequenos bugs no fluxo do Liveness com interação;
Corrigido o retorno do método FaceMatch, retornando o objeto completo com base64 da selfie, base64 do documento e o status do FaceMatch.
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.
Dispositivo
Versão do Android
Resultado do teste
Tipo do teste
ASUS - X01BDA
10.0.0
Físico
ASUS - Z01KD
8.0.1
Físico
HUAWEY - P30 Lite
9.0.0
Físico
LG - K22
10.0.0
Físico
LG - Q6
7.0.0
Físico
MOTOROLA - Moto one macro
10.0.0
Físico
MOTOROLA - Moto G4
6.0.1
Físico
MOTOROLA - Moto G5s Plus
8.1.0
Físico
MOTOROLA - Moto G6 Play
9.0.0
Físico
MOTOROLA - Moto G7 Play
10.0.0
Físico
MOTOROLA - Moto G7 Power
10.0.0
Físico
MOTOROLA - Moto G8 Power Lite
10.0.0
Físico
SAMSUNG - A01
10.0.0
Físico
SAMSUNG - J8 SM J810M
8.1.0
Físico
SAMSUNG - Galaxy A30s SM-A307GT
10.0.0
Físico
SAMSUNG - Galaxy A51
10.0.0
Físico
SAMSUNG - Galaxy A71
11.0.0
Físico
SAMSUNG - Galaxy S20+
11.0.0
Físico
SAMSUNG - s10e
11.0.0
Físico
XIAOMI - Mi 8 Lite
9.0.0
Físico
XIAOMI - Mi 8 Lite
10.0.0
Físico
XIAOMI - Poco X3
10.0.0
Físico
XIAOMI - Redmi Note 8
10.0.0
Físico
XIAOMI - Redmi Note 8 Pro
10.0.0
Físico
XIAOMI - Redmi Note 9
10.0.0
Físico
XIAOMI - Redmi Note 9 Pro
10.0.0
Físico
GOOGLE - Pixel sailfish
8.0.0
Virtual (TestLab)
HUAWEY - ALE L23
5.0.0
Virtual (TestLab)
HUAWEY - ANE LX1
9.0.0
Virtual (TestLab)
HUAWEY - ANE LX2
9.0.0
Virtual (TestLab)
HUAWEY - COR L29
8.1.0
Virtual (TestLab)
HUAWEY - MHA L29
7.0.0
Virtual (TestLab)
HUAWEY - NEO L29
9.0.0
Virtual (TestLab)
SAMSUNG - SC 02J
8.0.0
Virtual (TestLab)
SAMSUNG - SM G891A
9.0.0
Virtual (TestLab)
SAMSUNG - SM G930AZ
8.0.0
Virtual (TestLab)
SAMSUNG - SM G935A
8.0.0
Virtual (TestLab)
SAMSUNG - SM G965N
9.0.0
Virtual (TestLab)
SAMSUNG - SM G965U1
8.0.0
Virtual (TestLab)
SAMSUNG - SM G981U1
10.0.0
Virtual (TestLab)
SAMSUNG - SM J727V
8.1.0
Virtual (TestLab)
SAMSUNG - SM N950F
9.0.0
Virtual (TestLab)
SAMSUNG - SM N950N
9.0.0
Virtual (TestLab)
SAMSUNG - SM N950U
8.0.0
Virtual (TestLab)
SAMSUNG - SM N960F
9.0.0
Virtual (TestLab)
SAMSUNG - SM N960N
9.0.0
Virtual (TestLab)
SAMSUNG - SM N960U1
8.1.0
stLab)