---
title: رحلات المستخدم
canonical: https://developer.unico.io/ar/developers/sdks-and-tools/android/capture-flow/user-journeys
locale: ar
generated_by: markdown-export
---

- [/ar/](/ar/)
- [SDKs والأدوات](/ar/developers/sdks-and-tools/overview)
- [Android SDK](/ar/developers/sdks-and-tools/android/requirements)
- تدفق الالتقاط
- رحلات المستخدم

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

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

المنتجاتتعتمد الرحلات المتاحة على التدفق المُهيَّأ لتكاملك. راجع [المنتجات](/ar/products) للاطلاع على الخريطة الكاملة: المنتج ← التدفق ← القدرة.

آلية العمل
يقوم SDK بما يلي:

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

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

بدء رحلة المستخدم
**الخطوة 1** — تنفيذ `AcessoBioListener`يتعامل `AcessoBioListener` مع استدعاءات دورة حياة SDK. قم بتنفيذ الطرق الأربع الإلزامية:

| الطريقة | وقت استدعائها |
| --- | --- |
| `onErrorAcessoBio(errorBio)` | حدث خطأ أثناء تشغيل SDK |
| `onUserClosedCameraManually()` | أغلق المستخدم الكاميرا يدوياً |
| `onSystemClosedCameraTimeoutSession()` | تم بلوغ حد مهلة الجلسة — انظر [حدود الجلسة](/ar/developers/sdks-and-tools/android/requirements#session-limits) |
| `onSystemChangedTypeCameraTimeoutFaceInference()` | تم بلوغ حد مهلة استنتاج الوجه — ينتقل إلى الالتقاط اليدوي — انظر [حدود الجلسة](/ar/developers/sdks-and-tools/android/requirements#session-limits) |

- 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)`اكتملت الرحلة بنجاح — يُرجع `SuccessResult` يحتوي على `processId` يُستخدم للاستعلام عن نتائج التحقق`onErrorSelfie(errorBio)`فشل الالتقاط — يُرجع `ErrorBio` يحتوي على تفاصيل الخطأKotlinJava```
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` و`webAppToken` الخاص بك:webAppTokenالـ `webAppToken` هو الحقل `process.webAppToken` الذي يُرجعه `POST /client/v1/process` عند إنشاء العملية في الخادم الخلفي. راجع إنشاء عملية.
`onCameraReady` — الكاميرا جاهزة؛ استدعِ `open` مع تمرير `cameraListener` و`webAppToken` الخاص بك.
`onCameraFailed` — فشل تحضير الكاميرا؛ تعامل مع رسالة الخطأ.
KotlinJava```
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);  }});
```

للاطلاع على المعالجة الكاملة للنتائج، راجع [استلام النتيجة](/ar/developers/sdks-and-tools/android/capture-flow/receiving-the-result).آخر تحديث في 8 أكتوبر 2026**