Flutter

Última atualização: 24 de Outubro de 2023

Introdução

O objetivo deste manual é fornecer todas as informações necessárias para instalação e uso da ferramenta nos aplicativos desenvolvidos para plataforma Android.

Este SDK realiza a captura de faces para processamento de liveness pela ClearSale. Todas as informações coletadas são dados relacionados apenas ao dispositivo, sem relação ao aplicativo integrado.

As informações de captura de imagem dependem da permissão concedida pelo usuário no momento de captura. Neste caso é necessário que o aplicativo solicite o acesso à câmera ao usuário para dar prosseguimento à coleta de prova de vida.

O SDK respeita a política de privacidade da Google para a captura dos dados do dispositivo e o nível de permissão atribuído pelo usuário (usuário do dispositivo).

Android

Requisitos

  • Versão do sistema operacional Android: v5.0 (API v21) ou superior.
  • compileSdkVersão: 31
  • targetSdkVersion: 31
  • com.google.android.material:material superior a 1.5.0
  • kotlin_version igual ou superior a 1.6.10
  • 6,34mb de espaço em disco

Instalação

Adicione um arquivo com o nome .gradle.env que contenha as seguintes variávies:

CS_LIVENESS_TEC_ARTIFACTS_FEED_URL=ARTIFACTS_FEED_URL // url do repositório fornecido pela clear sale
CS_LIVENESS_TEC_ARTIFACTS_FEED_NAME=ARTIFACTS_FEED_NAME // valor fornecido pela ClearSale
CS_LIVINESS_TEC_USER=USERNAME // valor fornecido pela ClearSale
CS_LIVINESS_TEC_PASS=PAT // PAT fornecido pela ClearSale
CS_LIVENESS_VERSION=LAST_VERSION // versão do SDK 

Após isso, adicione no seu projeto Android, no arquivo build.gradle após o buildscript a seguinte linha:

def defaultPath = System.env.DIRNAME ?: System.env.PWD
System.properties["ENV_FILE"] = defaultPath + "/../.gradle.env"

buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

def defaultPath = System.env.DIRNAME ?: System.env.PWD
System.properties["ENV_FILE"] = defaultPath + "/../.gradle.env"

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

Configuração

Instruções para configuração do framework no projeto:

  1. Para o uso do sdk é necessário requisitar algumas permissões no arquivo de manifesto, são elas:
  2. <uses-permission android:name="android.permission.INTERNET"/>

iOS

Requisitos

  • Versão do sistema operacional iOS: 12.4 ou superior
  • Versão do projeto Swift 4+: funciona com Xcode anterior ao 13.
  • 36mb de espaço em disco

Instalação do Pacote

  • CocoaPods

Para adicionar o SDK ao seu projeto utilizando Cocoapods basta adicionar o seguinte comando ao seu Podfile:

Instalação em ambiente de desenvolvimento e testes

platform :ios, '12.0'

use_frameworks!

target 'NOME_DO_SEU_PROJETO' do
pod 'CSLivenessSDK', :git => 'URL DO REPOSITÓRIO ENVIADO PELA CLEARSALE', :tag => '1.2.3-hml'
end

Instalação em ambiente de produção

platform :ios, '12.0'

use_frameworks!

target 'NOME_DO_SEU_PROJETO' do
pod 'CSLivenessSDK', :git => 'URL DO REPOSITÓRIO ENVIADO PELA CLEARSALE', :tag => '1.2.3'
end

Obs: O PAT do iOS é junto com a Url do Repositório enviado pela ClearSale

Configuração

Instruções para configuração do framework no projeto:

  1. Adicionar as seguintes entradas ao arquivo Info.plist do projeto de destino:
  2. <key>NSCameraUsageDescription</key>
    <string>This app requires access to the camera.</string>

Flutter

Requisitos

  • Flutter Versão 2.0 ou superior

Iniciar

Adicione nas dependencias do `pubspec.yaml`:

cs_liveness_flutter:
git:
    url: https://github.com/ClearSale/LivenessPluginFlutter.git
    ref: 1.2.0

Importe o plugin no arquivo desejado

import 'package:cs_liveness_flutter/cs_liveness_flutter.dart';

Siga o exemplo a seguir para chamar o Liveness SDK e pegar os resultados

final csLiveness = CsLiveness(
    clientId: "CLIENT_ID",
    clientSecret: "CLIENT_SECRET",
    vocalGuidance: true,
    identifierId : "", //Opcional
    cpf : "" //Opcional
);

final livenessResult = await csLiveness.start();
Image? recognizedImage = livenessResult.image;
String? sessionId = livenessResult.sessionId;
bool? recognizedImage = livenessResult.real;

Variáveis Retornadas

Nome da Variável Descrição
image :Image? Permite recuperar a imagem e mostrar em uma widget
base64Image :String Retorna um base64 da imagem autenticada pelo processo de liveness. Em caso de erro no processo de liveness ele retornará null.
sessionId :String Esse id identifica a captura do liveness dentro da ClearSale e poderá ser usado para a consulta da imagem. Em caso de erro ele retornará null.
real :bool Permite recuperar o resultado da captura do liveness. Caso seja um caso de sucesso ela irá retornar um true, do contrário será um false

Aplicativo de Exemplo

Sample

Detalhes de privacidade

Uso de dados

Todas as informações coletadas pelo SDK da ClearSale são com exclusiva finalidade de prevenção à fraude e proteção ao próprio usuário, aderente à política de segurança e privacidade das plataformas Google e Apple e à LGPD. Por isso, estas informações devem constar na política de privacidade do aplicativo.

Tipo de dados coletados

O SDK da ClearSale coleta as seguintes informações do dispositivo :

  • Características físicas do dispositivo/ hardware (Como tela, modelo, nome do dispositivo);
  • Características de software (Como versão, idioma, build, controle parental);
  • Informações da câmera;

Algumas dessas informações podem vir a serem compartilhadas com nossas ferramentas de monitoria e error tracking.

Licença de Uso

Ao realizar o download e utilizar nosso SDK você estará concordando com a seguinte licença:

Copyright © 2024 ClearSale

Todos os direitos são reservados, sendo concedida a permissão para usar o software da maneira como está, não sendo permitido qualquer modificação ou cópia para qualquer fim. O Software é licenciado com suas atuais configurações “tal como está” e sem garantia de qualquer espécie, nem expressa e nem implícita, incluindo mas não se limitando, garantias de comercialização, adequação para fins particulares e não violação de direitos patenteados. Em nenhuma hipótese os titulares dos Direitos Autorais podem ser responsabilizados por danos, perdas, causas de ação, quer seja por contrato ou ato ilícito, ou outra ação tortuosa advinda do uso do Software ou outras ações relacionadas com este Software sem prévia autorização escrita do detentor dos direitos autorais.