رحلات المستخدم
رحلات المستخدم هي جلسات التقاط متعددة الخطوات يُنسّقها SDK بالتزامن مع التدفق المُهيَّأ. على سبيل المثال، يُنفّذ التدفق الذي يتضمن لايفنس + تصنيف مخاطر الاحتيال + التقاط الوثائق + التوقيع الإلكتروني كلًّا من التقاط الصورة الشخصية والمستند والتوقيع في جلسة واحدة.
تعتمد الرحلات المتاحة على التدفق المُهيَّأ لتكاملك. راجع حالات الاستخدام للاطلاع على الخريطة الكاملة: حالة الاستخدام ← التدفق ← القدرة.
يقوم SDK بما يلي:
- قراءة تهيئة التدفق المُقدَّمة أثناء التهيئة.
- تنسيق تسلسل عمليات الالتقاط المطلوبة للتدفق (الصورة الشخصية، المستند، التوقيع).
- إرجاع كائن نتيجة لكل خطوة التقاط.
يتولى SDK التنسيق بالكامل — فلا حاجة إلى تطبيق تسلسل الخطوات في تطبيقك.
الخطوة 1 — تنفيذ AcessoBioListener
يتعامل AcessoBioListener مع استدعاءات دورة حياة SDK. قم بتنفيذ الطرق الأربع الإلزامية:
| الطريقة | وقت استدعائها |
|---|---|
onErrorAcessoBio(errorBio) | حدث خطأ أثناء تشغيل SDK |
onUserClosedCameraManually() | أغلق المستخدم الكاميرا يدوياً |
onSystemClosedCameraTimeoutSession() | تم بلوغ حد مهلة الجلسة — انظر حدود الجلسة |
onSystemChangedTypeCameraTimeoutFaceInference() | تم بلوغ حد مهلة استنتاج الوجه — ينتقل إلى الالتقاط اليدوي — انظر حدود الجلسة |
- Kotlin
- Java
val callback = object : AcessoBioListener {
override fun onErrorAcessoBio(errorBio: ErrorBio?) { }
override fun onUserClosedCameraManually() { }
override fun onSystemClosedCameraTimeoutSession() { }
override fun onSystemChangedTypeCameraTimeoutFaceInference() { }
}
AcessoBioListener callback = new AcessoBioListener() {
@Override
public void onErrorAcessoBio(ErrorBio errorBio) { }
@Override
public void onUserClosedCameraManually() { }
@Override
public void onSystemClosedCameraTimeoutSession() { }
@Override
public void onSystemChangedTypeCameraTimeoutFaceInference() { }
};
الخطوة 2 — تطبيق iAcessoBioSelfie
يتعامل iAcessoBioSelfie مع ردود نداء نتيجة الالتقاط في الرحلة:
| الدالة | الوصف |
|---|---|
onSuccessSelfie(result) | تم التقاط الصورة بنجاح — يُرجع ResultCamera لاستخدامه في استدعاءات REST API اللاحقة |
onSuccess(result) | اكتمل تدفق WebApp بنجاح — يُرجع SuccessResult يحتوي على processId يُستخدم للاستعلام عن نتائج التحقق |
onErrorSelfie(errorBio) | فشل الالتقاط — يُرجع ErrorBio يحتوي على تفاصيل الخطأ |
- Kotlin
- Java
val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {
override fun onSuccessSelfie(result: ResultCamera?) { }
override fun onSuccess(result: SuccessResult) { }
override fun onErrorSelfie(errorBio: ErrorBio?) { }
}
iAcessoBioSelfie cameraListener = new iAcessoBioSelfie() {
@Override
public void onSuccessSelfie(ResultCamera result) { }
@Override
public void onSuccess(SuccessResult result) { }
@Override
public void onErrorSelfie(ErrorBio errorBio) { }
};
الخطوة 3 — استدعاء prepareCamera
بعد تهيئة unicoCheckCamera وتطبيق كلا المستمعَين، استدعِ prepareCamera مع تمرير تهيئة SDK وCameraListener وweb_app_token الخاص بك:
الـ web_app_token هو الحقل process.webAppToken الذي يُرجعه POST /client/v1/process عند إنشاء العملية في الخادم الخلفي. راجع إنشاء عملية.
onCameraReady— الكاميرا جاهزة؛ استدعِopenمع تمريرcameraListenerوweb_app_tokenالخاص بك.onCameraFailed— فشل تحضير الكاميرا؛ تعامل مع رسالة الخطأ.
- Kotlin
- Java
unicoCheckCamera.prepareCamera(unicoConfig, object : CameraListener {
override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Camera?) {
cameraOpener?.open(cameraListener, "your_web_app_token")
}
override fun onCameraFailed(message: String?) {
Log.e(TAG, message)
}
})
unicoCheckCamera.prepareCamera(unicoConfig, new CameraListener() {
@Override
public void onCameraReady(UnicoCheckCameraOpener.Camera cameraOpener) {
cameraOpener.open(cameraListener, "your_web_app_token");
}
@Override
public void onCameraFailed(String message) {
Log.e(TAG, message);
}
});
للاطلاع على المعالجة الكاملة للنتائج، راجع استلام النتيجة.