Aller au contenu principal

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).

Capacité

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.

Fonctionnement

Le SDK gère l'intégralité de la session de capture :

  1. Ouvre la caméra avec l'overlay SmartFrame.
  2. Guide l'utilisateur pour positionner son visage dans le cadre.
  3. Valide la vivacité — la session ne se termine que lorsque l'utilisateur est physiquement présent.
  4. Retourne un objet ResultCamera avec base64 et encrypted (JWT).
Démarrer une capture de vivacité
Étape 1 — Implémenter AcessoBioListener

AcessoBioListener gère les callbacks du cycle de vie du SDK. Implémentez les quatre méthodes obligatoires :

MéthodeQuand 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
val callback = object : AcessoBioListener {
override fun onErrorAcessoBio(errorBio: ErrorBio?) { }
override fun onUserClosedCameraManually() { }
override fun onSystemClosedCameraTimeoutSession() { }
override fun onSystemChangedTypeCameraTimeoutFaceInference() { }
}
Étape 2 — Implémenter iAcessoBioSelfie

iAcessoBioSelfie gère les callbacks de résultat de la capture de selfie :

MéthodeDescription
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
Expiration du token

L'intervalle entre la génération de encrypted et sa soumission à l'API ne doit pas dépasser 10 minutes.

val selfieListener = object : iAcessoBioSelfie {
override fun onSuccessSelfie(result: ResultCamera?) { }
override fun 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 ; appelez open en passant le selfieListener de l'étape 2.
  • onCameraFailed — la préparation de la caméra a échoué ; gérez le message d'erreur.
unicoCheckCamera
.prepareCamera(UnicoConfig(), object : SelfieCameraListener {
override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Selfie?) {
cameraOpener?.open(selfieListener)
}
override fun onCameraFailed(message: String?) { }
})

Pour la gestion complète des résultats, consultez Réception du résultat.