Capture de document
Capture de documents d'identité. Le SDK présente un cadre pour aider l'utilisateur à positionner le document ; après le positionnement, l'utilisateur clique sur le bouton pour capturer la photo.
Le SDK n'effectue aucune validation sur ce qui est capturé.
| Cadre | Description |
|---|---|
DocumentEnums.CPF | Capture du CPF |
DocumentEnums.CNH | Capture du CNH ouvert |
DocumentEnums.cnhFrente | Capture du recto du CNH |
DocumentEnums.cnhVerso | Capture du verso du CNH |
DocumentEnums.RG | Capture du RG ouvert |
DocumentEnums.rgFrente | Capture du recto du RG |
DocumentEnums.rgVerso | Capture du verso du RG |
DocumentEnums.none | Cadre rectangulaire générique pour tout autre document |
Si vous devez capturer un document pour lequel il n'existe pas de cadre spécifique (par exemple, RNE), utilisez DocumentEnums.none — un cadre générique rectangulaire pouvant être utilisé pour guider n'importe quelle capture.
Pour la liste complète des types de documents pris en charge, consultez Référence API > Enums.
Étape 1 — Implémenter AcessoBioManagerDelegate
AcessoBioManagerDelegate gère les callbacks du cycle de vie du SDK. Implémentez les quatre méthodes obligatoires :
| Méthode | Quand elle est appelée |
|---|---|
onErrorAcessoBioManager(error) | Une erreur s'est produite lors du fonctionnement du SDK |
onUserClosedCameraManually() | L'utilisateur a fermé manuellement la caméra |
onSystemClosedCameraTimeoutSession() | La limite de session de 40 secondes a été atteinte |
onSystemChangedTypeCameraTimeoutFaceInference() | Aucun visage détecté pendant 13 secondes — bascule en capture manuelle |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!
override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}
func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
@implementation ViewController: UIViewController
- (void)viewDidLoad {
[super viewDidLoad];
unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];
}
- (void)onErrorAcessoBioManager:(ErrorBio *)error { }
- (void)onSystemChangedTypeCameraTimeoutFaceInference { }
- (void)onSystemClosedCameraTimeoutSession { }
- (void)onUserClosedCameraManually { }
@end
Les quatre méthodes delegate ci-dessus doivent être créées dans votre projet (même sans logique). Sinon, le projet ne compilera pas correctement.
Étape 2 — Implémenter DocumentCameraDelegate et AcessoBioDocumentDelegate
Ces delegates gèrent les callbacks du résultat de capture de document :
| Méthode | Description |
|---|---|
onSuccessDocument(result) | Capture réussie — retourne DocumentResult avec base64 (aperçu) et encrypted (JWT pour l'API) |
onErrorDocument(errorBio) | Capture échouée — retourne un ErrorBio avec le code et la description |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate {
func onSuccessDocument(_ result: DocumentResult!) { }
func onErrorDocument(_ errorBio: ErrorBio!) { }
}
// .h
@interface ViewController: UIViewController <AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate> {
AcessoBioManager *unicoCheck;
}
// .m
- (void)onSuccessDocument:(DocumentResult *)result {
NSLog(@"%@", result.base64);
}
- (void)onErrorDocument:(ErrorBio *)errorBio { }
Étape 3 — Appeler prepareDocumentCamera et openDocument
Appelez prepareDocumentCamera en passant la configuration SDK. Lorsque la caméra est prête, onCameraReadyDocument est déclenché avec un AcessoBioCameraOpenerDelegate — ouvrez la caméra avec openDocument() et passez le DocumentEnums souhaité :
onCameraReadyDocument(cameraOpener)— la caméra est prête ; appelezopenDocument(.CNH, delegate: self).onCameraFailedDocument(message)— la préparation de la caméra a échoué (ErrorPrepareest une extension deErrorBio).
- Swift
- Objective-C
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareDocumentCamera(self, config: YourUnicoConfigClass())
}
func onCameraReadyDocument(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.openDocument(DocumentEnums.CNH, delegate: self)
}
func onCameraFailedDocument(_ message: ErrorPrepare!) { }
- (IBAction)openCamera:(UIButton *)sender {
[[unicoCheck build] prepareDocumentCamera:self config:[YourUnicoConfigClass new]];
}
- (void)onCameraReadyDocument:(id)cameraOpener {
[cameraOpener openDocument:DocumentCNH delegate:self];
}
- (void)onCameraFailedDocument:(ErrorPrepare *)message { }
Pour la gestion complète du résultat, consultez Réception du résultat.