التقاط المستندات
التقاط وثائق الهوية. يعرض SDK إطارًا لمساعدة المستخدم في تحديد موضع المستند؛ بعد التحديد، ينقر المستخدم على الزر لالتقاط الصورة.
لا يُجري SDK أي نوع من التحقق على ما يتم التقاطه.
| الإطار | الوصف |
|---|---|
DocumentEnums.CPF | التقاط CPF |
DocumentEnums.CNH | التقاط CNH المفتوح |
DocumentEnums.cnhFrente | التقاط الوجه الأمامي للـ CNH |
DocumentEnums.cnhVerso | التقاط الوجه الخلفي للـ CNH |
DocumentEnums.RG | التقاط RG المفتوح |
DocumentEnums.rgFrente | التقاط الوجه الأمامي للـ RG |
DocumentEnums.rgVerso | التقاط الوجه الخلفي للـ RG |
DocumentEnums.none | إ طار مستطيل عام لأي مستند آخر |
إذا كنت بحاجة إلى التقاط مستند لا يوجد له إطار محدد (مثل RNE)، استخدم DocumentEnums.none — إطار مستطيل عام يمكن استخدامه لتوجيه أي عملية التقاط.
للاطلاع على القائمة الكاملة لأنواع المستندات المدعومة، راجع مرجع API > التعدادات.
الخطوة 1 — تنفيذ AcessoBioManagerDelegate
تتولى AcessoBioManagerDelegate معالجة استدعاءات دورة حياة SDK. نفِّذ الطرق الأربع الإلزامية:
| الطريقة | متى يتم استدعاؤها |
|---|---|
onErrorAcessoBioManager(error) | حدث خطأ أثناء تشغيل SDK |
onUserClosedCameraManually() | أغلق المستخدم الكاميرا يدوياً |
onSystemClosedCameraTimeoutSession() | تم الوصول إلى حد الجلسة البالغ 40 ثانية |
onSystemChangedTypeCameraTimeoutFaceInference() | لم يُكتشف أي وجه لمدة 13 ثانية — التبديل إلى الالتقاط اليدوي |
- 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
يجب إنشاء جميع الطرق الأربع للتفويض المذكورة أعلاه في مشروعك (حتى بدون أي منطق). وإلا، لن يُكمَّل تحويل المشروع بنجاح.
الخطوة 2 — تنفيذ DocumentCameraDelegate وAcessoBioDocumentDelegate
تتولى هذه المندوبات معالجة callbacks نتيجة التقاط المستند:
| الطريقة | الوصف |
|---|---|
onSuccessDocument(result) | نجح الالتقاط — يُعيد DocumentResult مع base64 (معاينة) وencrypted (JWT لواجهة API) |
onErrorDocument(errorBio) | فشل الالتقاط — يُعيد ErrorBio مع الرمز والوصف |
- 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 { }
الخطوة 3 — استدعاء prepareDocumentCamera وopenDocument
استدعِ prepareDocumentCamera مع تمرير إعداد SDK. عندما تكون الكاميرا جاهزة، يُطلَق onCameraReadyDocument مع AcessoBioCameraOpenerDelegate — افتح الكاميرا باستخدام openDocument() ومرر DocumentEnums المطلوب:
onCameraReadyDocument(cameraOpener)— الكاميرا جاهزة؛ استدعِopenDocument(.CNH, delegate: self).onCameraFailedDocument(message)— فشل تجهيز الكاميرا (ErrorPrepareهو امتداد لـErrorBio).
- 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 { }
للاطلاع على معالجة النتيجة الكاملة، راجع استلام النتيجة.