Permissões Necessárias
O SDK requer as seguintes permissões no AndroidManifest.xml:
<!-- Obrigatórias -->
< uses-permission android : name = "android.permission.CAMERA" />
< uses-permission android : name = "android.permission.INTERNET" />
<!-- Camera feature declaration -->
< uses-feature android : name = "android.hardware.camera" android : required = "true" />
O SDK solicita automaticamente a permissão de câmera quando necessário. Se o
usuário negar a permissão, o SDK exibirá um diálogo oferecendo opções para
tentar novamente ou abrir as configurações do dispositivo.
Instalação
Passo 1: Adicionar o Arquivo AAR
Copie o arquivo liveness-hub-sdk-[version]-release.aar para a pasta libs do seu módulo app:
seu-projeto/
app/
libs/
liveness-hub-sdk-[version]-release.aar
build.gradle.kts
Passo 2: Configurar o build.gradle.kts
Adicione as seguintes configurações no arquivo app/build.gradle.kts:
android {
namespace = "com.example.myapp"
compileSdk = 36
defaultConfig {
applicationId = "com.example.myapp"
minSdk = 24
targetSdk = 36
// Required for the SDK
multiDexEnabled = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
// ========================================
// Liveness Hub SDK
// ========================================
implementation ( files ( "libs/liveness-hub-sdk-[version]-release.aar" ))
// ========================================
// Dependências Obrigatórias
// ========================================
// Koin - Injeção de Dependências
implementation ( "io.insert-koin:koin-android:4.0.1" )
implementation ( "io.insert-koin:koin-core:4.0.1" )
// AndroidX Core
implementation ( "androidx.core:core-ktx:1.17.0" )
implementation ( "androidx.appcompat:appcompat:1.7.1" )
implementation ( "androidx.activity:activity:1.8.0" )
implementation ( "androidx.constraintlayout:constraintlayout:2.2.1" )
implementation ( "com.google.android.material:material:1.13.0" )
implementation ( "androidx.lifecycle:lifecycle-runtime-ktx:2.9.4" )
// CameraX - Obrigatório para captura facial
implementation ( "androidx.camera:camera-core:1.5.0" )
implementation ( "androidx.camera:camera-camera2:1.5.0" )
implementation ( "androidx.camera:camera-lifecycle:1.5.0" )
implementation ( "androidx.camera:camera-view:1.5.0" )
// ML Kit Face Detection - Obrigatório para detecção facial
implementation ( "com.google.mlkit:face-detection:16.1.7" )
// MediaPipe Vision - Opcional, para detecção facial aprimorada
implementation ( "com.google.mediapipe:tasks-vision:0.10.14" )
// Rede
implementation ( "com.squareup.retrofit2:retrofit:3.0.0" )
implementation ( "com.squareup.okhttp3:okhttp:5.1.0" )
implementation ( "com.squareup.okhttp3:logging-interceptor:5.1.0" )
implementation ( "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0" )
implementation ( "org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0" )
// Segurança
implementation ( "androidx.security:security-crypto:1.1.0" )
}
Passo 3: Configurar Repositórios
No arquivo settings.gradle.kts do projeto, adicione os repositórios necessários:
dependencyResolutionManagement {
repositoriesMode. set (RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google ()
mavenCentral ()
// Repositórios adicionais necessários
maven { url = uri ( "https://packagecloud.io/biopassid/dlibwrapper/maven2" ) }
maven { url = uri ( "https://jitpack.io" ) }
maven { url = uri ( "https://maven.fpregistry.io/releases" ) }
}
}
Configuração Inicial
O SDK deve ser inicializado uma única vez na classe Application da sua aplicação:
package com.example.myapp
import android.app.Application
import com.valid.entry.LivenessHubSDK
import com.valid.entry.models.LivenessHubConfig
class MyApplication : Application () {
override fun onCreate () {
super . onCreate ()
initializeLivenessSDK ()
}
private fun initializeLivenessSDK () {
val config = LivenessHubConfig (
apiBaseUrl = "https://api.yourserver.com" ,
apiKey = "your-api-key" ,
appName = "YourAppName" ,
cek = "your-base64-encoded-cek"
)
LivenessHubSDK. init (
applicationContext = this ,
config = config
)
}
}
Sempre inicialize o SDK na classe Application.onCreate() para garantir que
esteja pronto antes de qualquer Activity.
Parâmetros de Configuração
Parâmetro Tipo Descrição apiBaseUrlString URL base da API de liveness apiKeyString Chave de API para autenticação appNameString Nome da aplicação para identificação cekString Chave CEK codificada em Base64 localizationLivenessLocalization Configuração de idioma e textos (opcional)
Próximos Passos
Implementação Veja como implementar a verificação de liveness
Customização Personalize idiomas, textos e níveis de risco