Visão geral
O SDK Web do Unico Check permite a construção, de forma rápida e fácil, de uma grande experiência de captura de Selfies em suas aplicações Web. Um componente é fornecido para que você possa capturar imagens de forma flúida em seu aplicativo, utilizando mecanismos de abertura de câmera modernos e algorítimos de visão computacional.
Além de abstrair toda a complexidade referente a manipulação da câmera, o SDK também tem o objetivo de auxiliar no enquadramento das imagens, as otimizando para aumentar a acurácia na resposta do motor biométrico.
O SDK Web utiliza os recursos nativos do HTML 5, JavaScript e CSS e funciona em todos os browsers modernos.
DISPOSITIVOS COMPATÍVEIS
Sistemas Operacionais
O frame de captura, disponibilizado por meio do SDK, da suporte aos seguintes sistemas operacionais e versões:
- iOS: A partir da 11.0
- Android: A partir da 5.1
Além de sistemas operacionais de dispositivos móveis, também é oferecido compatibilidade a Windows e MacOs.
Nas versões desktop o usuário pode encontrar dificuldades em efetuar as capturas (ou mesmo em ter as imagens validadas pelo motor biométrico) devido a má qualidade de algumas câmeras VGA.
A aplicação funciona em iFrames somente utilizando o Liveness Interativo. Veja mais na seção CONFIGURAR MODO DE CAPTURA DO LIVENESS INTERATIVO EM IFRAME'S
Demais modos de captura não funcionam em iFrame's.Browsers
O frame de captura disponibilizado por meio do SDK, é compatível com as seguintes combinações de browsers e sistemas operacionais:
Sistema Operacional | Chrome | Firefox | Safari | Samsung Internet | Opera | Edge |
---|---|---|---|---|---|---|
Windows (desktop) | N/A | N/A | ||||
Android | * | N/A | ||||
iOS | N/A | |||||
MacOS (desktop) | N/A |
O browser Firefox no Android só é suportado pelo Liveness sem interação
De forma geral, o SDK da suporte a WebRTC e versões mais recentes dos browsers listados acima. Por questões de compatibilidade e segurança, o funcionamento em versões muito antigas destes browsers não é garantido.
Webview
SOBRE A FERRAMENTA
É um componente do sistema que permite que as aplicações Android ou iOS exibam conteúdos da web diretamente dentro do aplicativo, baseado no mesmo projeto de código. Sendo responsável pela navegação em sites e conteúdo da web dentro dos aplicativos.
PRÉ-REQUISITOS
É necessário ter realizado a implantação do SDK Web em uma aplicação que contenha um domínio seguro com protocolo https.
COMPATIBILIDADE COM REDES SOCIAIS
O componente foi homologado nas redes sociais: Instagram e Facebook em todos os modos de captura (exceto no modo da câmera de selfie com Liveness).
COMPATIBILIDADE COM FRAMEWORKS HÍBRIDOS
O componente foi homologado somente em camadas nativas, para que seja utilizado em frameworks híbridos (Flutter ou React Native) é necessário implementar na camada nativa do Android e/ou iOS.
Quando em execução, o SDK vai solicitar a permissão de abertura da câmera para webview, que por sua vez vai solicitar a mesma para a aplicação nativa. É mandatório que sua aplicação nativa tenha as permissões necessárias ajustadas nos arquivos de configuração. Mais detalhes sobre esse ponto, serão mostrados nas seções abaixo.
ANDROID
COMPATIBILIDADE COM SISTEMA OPERACIONAL
O SDK Web tem compatibilidade com webviews executadas no Android 8 (API 26) ou superior.
COMPATIBILIDADE COM DISPOSITIVOS
A ferramenta é compatível com a grande maioria dos dispositivos. A tabela a seguir lista os dispositivos testados em laboratório. Algumas extensões listadas podem estar sujeitas a API ou SKUs específicos do fabricante:
Dispositivo | Versão do S.O. | Câmera de selfie com captura manual | Câmera de selfie com captura inteligente | Câmera de documento com captura manual |
---|---|---|---|---|
Galaxy A12 | Android 11.0 | |||
Galaxy A10s | Android 10.0 | |||
Galaxy S20FE | Android 12.0 | |||
Moto G8 Plus | Android 9.0 | |||
Moto G52 | Android 12.0 | |||
Moto E7 | Android 10.0 | |||
LG K62 | Android 10.0 | |||
Asus X01BDA | Android 8.1.0 |
O parceiro de Liveness garante o funcionamento do webview. Com isso, o webview também pode ser usado no modo câmera de selfie com Liveness.
IMPLANTAÇÃO
Para que o SDK tenha um funcionamento correto é necessário adicionar algumas permissões e configurações ao arquivo AndroidManifest, são elas:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.webkit.PermissionRequest" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera2.full" />
<uses-feature android:name="android.hardware.camera2.autofocus" />
É recomendado o uso de webviews baseadas no Chromium com algumas customizações para melhor funcionamento do JavaScript. É possível encontrar um exemplo de implementação através da POC.
IOS
COMPATIBILIDADE COM SISTEMA OPERACIONAL
O SDK Web tem compatibilidade com webviews executadas no iOS 13 ou superior.
COMPATIBILIDADE COM DISPOSITIVOS
A ferramenta é compatível com a grande maioria dos dispositivos. A tabela a seguir lista os dispositivos testados em laboratório. Algumas extensões listadas podem estar sujeitas a API ou SKUs específicos do fabricante:
Dispositivo | Versão do S.O. | Câmera de selfie com captura manual | Câmera de selfie com captura inteligente | Câmera de documento com captura manual |
---|---|---|---|---|
Iphone 12 Pro Max | iOS 16.0 | |||
Iphone 12 | iOS 16.0 | |||
Iphone 11 | iOS 16.0 | |||
Iphone 8 | iOS 15.5 | |||
Iphone 7 | iOS 15.6.1 | |||
Iphone 7 | iOS 14.3 | |||
Iphone 6s | iOS 13.5.1 | |||
Iphone 6s | iOS 13.1.3 |
O parceiro de Liveness garante o funcionamento do webview. Com isso, o webview também pode ser usado no modo câmera de selfie com Liveness.
IMPLANTAÇÃO
Para que o SDK tenha um funcionamento correto é necessário adicionar algumas permissões e configurações ao arquivo info.plist, são elas:
<key>NSCameraUsageDescription</key>
<string>Camera usage description</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Mensagem da cliente</string>
O iOS fornece duas maneiras de se utilizar Webviews em aplicações, são elas: WKWebView e SFSafariViewController. Recomendamos o uso do SFSafariViewController para uma melhor compatibilidade com os recursos do DOM. É possível encontrar um exemplo de implementação através da POC.
FLUXO DE COMUNICAÇÃO COM A APLICAÇÃO NATIVA
Uma POC que exemplifica um fluxo de comunicação do retorno de uma aplicação Web com o SDK para uma aplicação nativa iOS utilizando webview está disponível e pode ser encontrado aqui.
FUNCIONALIDADES DISPONÍVEIS
Atualmente, o SDK Web possui as seguintes funcionalidades disponíveis:
- Reconhecimento fácil;
- Captura com Camêra Manual;
- Captura com Camêra Inteligênte;
- Captura com Liveness;
- Captura de documentos;
Alguns celulares antigos, como aparelhos com Android 6 ou iPhone 4, podem não possuir suporte aos recursos necessários para o funcionamento das técnologia de visão computacional, como face-api e tjfs, que são utilizadas na funcionalidade de Câmera Inteligente.
Nestes casos, a funcionalidade de Câmera Normal é acionada como fallback, permitindo que o usuário faça a captura manual.
Este tipo de fallback não está disponível para a captura com Liveness;
DIAGRAMA DE FUNCIONAMENTO
O SDK (client-side) é responsável por simplificar sua integração com o Unico Check, abstraindo toda a complexidade referente a manipulação da câmera e captura.
Caso a captura seja feita com sucesso, o SDK retorna um objeto que deve ser enviado para as APIs, completando assim a validação biométrica.
- O Usuário acessa sua aplicação;
- Através do SDK Web, sua aplicação solicita o frame para captura (conforme configurado em sua aplicação);
- Sua aplicação renderiza o frame para captura em um placeholder pré estabelecido;
- Sua aplicação captura a imagem (de forma automática, manual ou com o liveness com interação), gerando um token
JWT
; - Sua aplicação repassa o
JWT
para seu servidor;
O atributo Encrypted é destinado estritamente ao envio da imagem através das APIs da Unico. 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.
- Seu servidor interage com as APIs do motor biométrico para validar a imagens (a documentação de nossas APIs pode ser encontrada neste link;
- Os servidores retornam a resposta do motor biométrico, que deve ser enviada para sua aplicação;
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.