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

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

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

## آلية العمل

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

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

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

## بدء رحلة المستخدم

****الخطوة 2** — تطبيق `iAcessoBioSelfie`**

يتعامل `iAcessoBioSelfie` مع ردود نداء نتيجة الالتقاط في الرحلة:

  | الدالة | الوصف |
  |---|---|
  | `onSuccessSelfie(result)` | تم التقاط الصورة بنجاح — يُرجع `ResultCamera` لاستخدامه في استدعاءات REST API اللاحقة |
  | `onSuccess(result)` | اكتملت الرحلة بنجاح — يُرجع `SuccessResult` يحتوي على `processId` يُستخدم للاستعلام عن نتائج التحقق |
  | `onErrorSelfie(errorBio)` | فشل الالتقاط — يُرجع `ErrorBio` يحتوي على تفاصيل الخطأ |

  ### Kotlin

    ```kotlin
    val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {
      override fun onSuccessSelfie(result: ResultCamera?) { }
      override fun onSuccess(result: SuccessResult) { }
      override fun onErrorSelfie(errorBio: ErrorBio?) { }
    }
    ```

### Java

    ```java
    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` الخاص بك:

  :::note[webAppToken]
  الـ `webAppToken` هو الحقل `process.webAppToken` الذي يُرجعه `POST /client/v1/process` عند إنشاء العملية في الخادم الخلفي. راجع [إنشاء عملية](/dual-api/developers/api-reference/web-sdk/post-process).
  :::

  - `onCameraReady` — الكاميرا جاهزة؛ استدعِ `open` مع تمرير `cameraListener` و`webAppToken` الخاص بك.
  - `onCameraFailed` — فشل تحضير الكاميرا؛ تعامل مع رسالة الخطأ.

  ### Kotlin

    ```kotlin
    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)
      }
    })
    ```

### Java

    ```java
    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);
      }
    });
    ```

للاطلاع على المعالجة الكاملة للنتائج، راجع [استلام النتيجة](/developers/sdks-and-tools/android/capture-flow/receiving-the-result).