Liveness (selfie biométrique)
Capture de selfie biométrique avec vérification de vivacité intégrée. Le SDK guide l'utilisateur jusqu'à l'obtention d'une image biométriquement valide via SmartFrames et retourne l'image en Base64 + JWT (JSON Web Token — un payload signé envoyé à votre backend pour appeler l'API REST).
Ce type de capture utilise la capacité Liveness. Pour une vue d'ensemble conceptuelle du fonctionnement de Liveness, consultez la page de la capacité Liveness.
Le SDK gère l'intégralité de la session de capture :
- Ouvre la caméra avec l'overlay SmartFrame.
- Guide l'utilisateur pour positionner son visage dans le cadre.
- Valide la vivacité — la session ne se termine que lorsque l'utilisateur est physiquement présent.
- Retourne un objet
ResultCameraavecbase64etencrypted(JWT).
Étape 1 — Implémenter AcessoBioListener
AcessoBioListener gère les callbacks du cycle de vie du SDK. Implémentez les quatre méthodes obligatoires :
| Méthode | Quand elle est appelée |
|---|---|
onErrorAcessoBio(errorBio) | Une erreur s'est produite pendant l'opération du SDK |
onUserClosedCameraManually() | L'utilisateur a fermé la caméra manuellement |
onSystemClosedCameraTimeoutSession() | La limite de durée de session a été atteinte — voir Limites de session |
onSystemChangedTypeCameraTimeoutFaceInference() | La limite de durée d'inférence faciale a été atteinte — bascule vers la capture manuelle — voir Limites de session |
- Kotlin
- Java
val callback = object : AcessoBioListener {
override fun onErrorAcessoBio(errorBio: ErrorBio?) { }
override fun onUserClosedCameraManually() { }
override fun onSystemClosedCameraTimeoutSession() { }
override fun onSystemChangedTypeCameraTimeoutFaceInference() { }
}
AcessoBioListener callback = new AcessoBioListener() {
@Override
public void onErrorAcessoBio(ErrorBio errorBio) { }
@Override
public void onUserClosedCameraManually() { }
@Override
public void onSystemClosedCameraTimeoutSession() { }
@Override
public void onSystemChangedTypeCameraTimeoutFaceInference() { }
};
Étape 2 — Implémenter iAcessoBioSelfie
iAcessoBioSelfie gère les callbacks de résultat de la capture de selfie :
| Méthode | Description |
|---|---|
onSuccessSelfie(result) | La capture a réussi — retourne ResultCamera avec base64 (aperçu) et encrypted (JWT pour l'API) |
onErrorSelfie(errorBio) | La capture a échoué — retourne un ErrorBio avec code et description |
L'intervalle entre la génération de encrypted et sa soumission à l'API ne doit pas dépasser 10 minutes.
- Kotlin
- Java
val selfieListener = object : iAcessoBioSelfie {
override fun onSuccessSelfie(result: ResultCamera?) { }
override fun onErrorSelfie(errorBio: ErrorBio?) { }
}
iAcessoBioSelfie selfieListener = new iAcessoBioSelfie() {
@Override
public void onSuccessSelfie(ResultCamera result) { }
@Override
public void onErrorSelfie(ErrorBio errorBio) { }
};
Étape 3 — Appeler prepareCamera
Une fois unicoCheckCamera initialisé et les deux listeners implémentés, appelez prepareCamera en passant la configuration du SDK (le UnicoConfig créé lors de l'Initialisation) et un SelfieCameraListener :
onCameraReady— la caméra est prête ; appelezopenen passant leselfieListenerde l'étape 2.onCameraFailed— la préparation de la caméra a échoué ; gérez le message d'erreur.
- Kotlin
- Java
unicoCheckCamera
.prepareCamera(UnicoConfig(), object : SelfieCameraListener {
override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Selfie?) {
cameraOpener?.open(selfieListener)
}
override fun onCameraFailed(message: String?) { }
})
unicoCheckCamera
.prepareCamera(new UnicoConfig(), new SelfieCameraListener() {
@Override
public void onCameraReady(UnicoCheckCameraOpener.Selfie cameraOpener) {
cameraOpener.open(selfieListener);
}
@Override
public void onCameraFailed(String message) { }
});
Pour la gestion complète des résultats, consultez Réception du résultat.