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

رحلات المستخدم

رحلات المستخدم هي جلسات التقاط متعددة الخطوات يُنسِّقها SDK جنباً إلى جنب مع التدفق المُهيَّأ. على سبيل المثال، ينفِّذ تدفق يضم لايفنس + تصنيف مخاطر الاحتيال + التقاط الوثائق + التوقيع الإلكتروني كلاً من التقاط الصورة الشخصية والمستند والتوقيع في جلسة واحدة.

حالات الاستخدام

تعتمد الرحلات المتاحة على التدفق المُهيَّأ لتكاملك. راجع حالات الاستخدام للاطلاع على التعيين الكامل لحالة الاستخدام ← التدفق ← القدرة.

آلية العمل

يقوم SDK بما يلي:

  1. يقرأ إعداد التدفق المُقدَّم أثناء التهيئة.
  2. يُنسِّق تسلسل عمليات الالتقاط المطلوبة للتدفق (صورة شخصية، مستند، توقيع).
  3. يُرجع processId عبر onSuccess عند اكتمال الرحلة. بالنسبة لخطوة السيلفي، تُرجع بيانات الصورة (base64 / encrypted) أيضاً عبر onSuccessSelfie. تتم معالجة التقاط المستندات والتوقيع داخلياً بواسطة الـ SDK — لا يتم كشف أي مصنوع لكل خطوة للعميل.

يتم التنسيق بالكامل من قِبَل SDK — لا تحتاج إلى تنفيذ تسلسل الخطوات في تطبيقك.

بدء رحلة مستخدم
الخطوة 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 — تطبيق AcessoBioSelfieDelegate

تجاوز الدوال للتعامل مع callbacks نتيجة التقاط الرحلة:

الدالةالوصف
onSuccessSelfie(result)تم التقاط الصورة بنجاح — يُعيد SelfieResult لاستدعاءات REST API اللاحقة
onSuccess(result)اكتملت الرحلة بنجاح — يُعيد processId يُستخدم للاستعلام عن نتائج التحقق
onErrorSelfie(errorBio)فشل الالتقاط — يُعيد ErrorBio يحتوي على تفاصيل الخطأ
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {

func onSuccessSelfie(_ result: SelfieResult!) { }
func onSuccess(_ result: SuccessResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
الخطوة 3 — استدعاء prepareSelfieCamera وopen

استدعِ prepareSelfieCamera مع تمرير إعداد SDK. عندما تكون الكاميرا جاهزة، يتم تشغيل حدث onCameraReady — افتح الكاميرا من خلال دالة open()، مع تمرير webAppToken:

webAppToken

الـ webAppToken هو الحقل process.webAppToken الذي يُعيده POST /client/v1/process عند إنشاء العملية في الخادم الخلفي. راجع إنشاء عملية.

  • onCameraReady(cameraOpener) — الكاميرا جاهزة؛ استدعِ open(self, webAppToken:).
  • onCameraFailed(message) — فشل تحضير الكاميرا (ErrorPrepare هو امتداد لـ ErrorBio).
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}

func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self, webAppToken: "your_web_app_token")
}

func onCameraFailed(_ message: ErrorPrepare!) { }

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