الانتقال إلى المحتوى الرئيسي

التقاط المستندات

التقاط وثائق الهوية. يعرض 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 ثانية — التبديل إلى الالتقاط اليدوي
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() { }
}
طرق التفويض الإلزامية

يجب إنشاء جميع الطرق الأربع للتفويض المذكورة أعلاه في مشروعك (حتى بدون أي منطق). وإلا، لن يُكمَّل تحويل المشروع بنجاح.

الخطوة 2 — تنفيذ DocumentCameraDelegate وAcessoBioDocumentDelegate

تتولى هذه المندوبات معالجة callbacks نتيجة التقاط المستند:

الطريقةالوصف
onSuccessDocument(result)نجح الالتقاط — يُعيد DocumentResult مع base64 (معاينة) وencrypted (JWT لواجهة API)
onErrorDocument(errorBio)فشل الالتقاط — يُعيد ErrorBio مع الرمز والوصف
class ViewController: UIViewController, AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate {

func onSuccessDocument(_ result: DocumentResult!) { }
func onErrorDocument(_ errorBio: ErrorBio!) { }
}
الخطوة 3 — استدعاء prepareDocumentCamera وopenDocument

استدعِ prepareDocumentCamera مع تمرير إعداد SDK. عندما تكون الكاميرا جاهزة، يُطلَق onCameraReadyDocument مع AcessoBioCameraOpenerDelegate — افتح الكاميرا باستخدام openDocument() ومرر DocumentEnums المطلوب:

  • onCameraReadyDocument(cameraOpener) — الكاميرا جاهزة؛ استدعِ openDocument(.CNH, delegate: self).
  • onCameraFailedDocument(message) — فشل تجهيز الكاميرا (ErrorPrepare هو امتداد لـErrorBio).
@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!) { }

للاطلاع على معالجة النتيجة الكاملة، راجع استلام النتيجة.