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

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

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

## How it works

يُفوِّض المكوِّن الإضافي إلى SDKs الأصلية الأساسية:

1. يفتح المكوِّن الإضافي الكاميرا (Android أو iOS) مع تراكب SmartFrame.
2. تُنسِّق SDK الأصلية تسلسل الالتقاطات المطلوبة للتدفق (صورة شخصية، مستند، توقيع).
3. تُحيل SDK النتائج داخلياً إلى Unico — لا يتلقى العميل بيانات الصور ولا يديرها مباشرة.
4. يُعيد كائن `SuccessResult` مع `processId` عبر قناة المنصة.

يتم التعامل مع التنسيق بالكامل بواسطة SDK — ليست هناك حاجة إلى تنفيذ تسلسل الخطوات في كود Dart الخاص بك.

## Camera mode (smart capture)

يمتلك SDK **الإطارة الذكية** و**الالتقاط التلقائي** مفعَّلَين بشكل افتراضي. قم بتهيئة وضع الكاميرا في المنشئ الخاص بك على النحو التالي:

```dart
UnicoCheckCameraOpener _opener = new UnicoCheck(this)
    .setAutoCapture(autoCapture: true)
    .setSmartFrame(smartFrame: true)
    .build();
```

## Starting a User Journey

****الخطوة 2** — تنفيذ مستمعات الرحلة على `UnicoSelfie`**

أضف استدعاءات الرحلة إلى فئة الحالة الخاصة بك:

  | الأسلوب | الوصف |
  |---|---|
  | `onSuccess(SuccessResult result)` | نجح الالتقاط — يُعيد `SuccessResult` مع `processId` (تعالج Unico الصورة داخلياً) |
  | `onErrorSelfie(UnicoError error)` | فشل الالتقاط — يُعيد `UnicoError` مع الرمز والوصف |

  :::warning[لا توجد بيانات صورة]
  على خلاف تدفق التحقق من الحيوية، لا يُعيد استدعاء رحلة المستخدم `base64` أو `encrypted`. تعالج Unico بيانات الصورة داخلياً وتُعيد فقط `processId`.
  :::

  ```dart
  @override
  void onSuccess(SuccessResult result) {
    debugPrint('processId: ${result.processId}');
  }

  @override
  void onErrorSelfie(UnicoError error) { }
  ```

****الخطوة 3** — استدعاء `openCameraSelfie`**

يفتح أسلوب `openCameraSelfie` الكاميرا. لرحلات المستخدم، مرِّر `webAppToken` المقدَّم من Unico بدلاً من ملف بيانات اعتماد JSON:

  ```dart
  _opener.openCameraSelfie(
    listener: this,
    webAppToken: token,
  );
  ```

## Monitoring data collection

يوفر أسلوب `openCameraSelfie` تحميلاً زائداً يقبل بيانات وصفية عبر `UnicoCheckPrepareInfo` للمساعدة في تحديد جلسة المستخدم والتدفق:

- `externalUserId` (String، **مطلوب**) — معرِّف المستخدم في نظامك. يُجزَّأ تلقائياً باستخدام SHA-256 قبل الإرسال.
- `useCase` (String، اختياري) — معرِّف للسياق أو التدفق الجاري تشغيله حالياً. يُرسَل بنص عادي.

```dart
_opener.openCameraSelfie(
  listener: this,
  webAppToken: token,
  prepareInfo: UnicoCheckPrepareInfo(
    externalUserId: 'external_user_id',
    useCase: 'use_case', // optional
  ),
);
```

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