تشير هذه الإصدارات إلى حزم SDK الخاصة بالتحقق من الهوية. لوحدات المصادقة الأصلية والأغلفة إصدار منفصل: راجع أدلة البدء السريع للمصادقة.
النهج الموصى به: للحصول على أفضل تجربة مستخدم، استخدم حزم SDK الأصلية لدينا بدلاً من تكامل WebView. تتولى حزم SDK الأصلية كل تعقيدات أذونات الكاميرا وقراءة NFC وكشف الحيوية مباشرةً دون إعداد إضافي.
توفّر SDK
تتطلب الموافقة البيومترية إصدار SDK الأصلي 4.10.0 أو أحدث. بالنسبة للأشخاص الخاضعين لقوانين إلينوي وتكساس وكولورادو، يمكن لـ Didit أن تطلب الموافقة البيومترية الصريحة قبل أول التقاط للوجه. يعرض التدفق المستضاف (Web SDK وWebView والمتصفح) وSDK iOS وAndroid الأصليان بالإصدار 4.10.0 أو أحدث هذه الخطوة، وتعرضها React Native وFlutter في إصدار يثبّت SDK الأصلي على 4.10.0 أو أحدث. لا يستطيع SDK الأصلي الذي يقل إصداره عن 4.10.0، أو الذي لا يُبلغ عن إصداره، عرض هذه الخطوة: تعمل جلساته كما كانت من قبل، ويُبلغ القرار عن
biometric_consent.status: "pending" مع reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". قم بالترقية إذا كنت تتحقق من أشخاص في تلك الحالات.ما الجديد في 4.13.2
على iOS، لم يعد طلب التقاط صورة من كاميرا تُفتح لكنها لا ترسل أي إطارات يتسبب في تعطل تطبيقك: كل طلب صورة يتحقق أولاً من وجود جلسة كاميرا تعمل مع اتصال فيديو نشط، وتعرض الشاشة بدلاً من ذلك خطأ الكاميرا أو التخطي. على Android، في خطوة التقاط السيلفي لبحث الهوية، ينتهي طلب الصورة من كاميرا لا ترسل أي إطارات بخطأ الكاميرا على الشاشة بعد 5 ثوانٍ بدلاً من الانتظار إلى ما لا نهاية. في شاشة الترحيب، وبينما تستمر قائمة الخطوات أسفل تدرّجها السفلي، يظهر زر دائري بعنوان “التمرير إلى الأسفل” في منتصف القائمة أفقياً (وكذلك في اللغات التي تُكتب من اليمين إلى اليسار)، كما في التدفق على الويب. يؤدي النقر إلى تمرير القائمة إلى الأسفل، ويختفي الزر عند نهاية القائمة وأثناء فتح ورقة سفلية. كان الإصدار 4.13.1 على Android إصداراً مرحلياً يحتوي على زر “التمرير إلى الأسفل” فقط، ويضيف 4.13.2 هذا الزر إلى iOS وReact Native وFlutter. يصلح React Native 4.13.2 أيضاً عطلاً عند التشغيل في إصدارات Android النهائية المضغوطة بـ R8 وproguard-android-optimize.txt: تحمل الحزمة الآن قواعد R8 الخاصة بها.
يُبنى Flutter 4.13.2 أيضاً باستخدام Android Gradle Plugin 9 وKotlin المدمج فيه.
ما الجديد في 4.13.0
في خطوة الهاتف، يظهر لكل رقم +1 (الولايات المتحدة وكندا) إفصاح قصير عن شركة الاتصالات أسفل زر “إرسال الرمز” (“قد تُطبَّق أسعار الرسائل والبيانات القياسية”)، مع روابط إلى شروط الرسائل النصية وسياسة الخصوصية، بلغة الشخص. تتموضع البيضاوية الخاصة بالسيلفي الآن فوق عناصر التحكم فيها على الشاشات القصيرة، وقد أُزيلت الكبسولة الخضراء “تم” وزر “فهمت” بعد التقاط صورة المستند وشاشة “تم التقاط صورة السيلفي”: تنتقل الصورة الملتقطة مباشرة إلى “جارٍ المعالجة”. عندما يكون التقاط المستند هو الخيار الاحتياطي وتتقدم المحفظة الرقمية للهوية، تعرض شاشة إطلاق المحفظة المحفظة وحدها، وتُبقي إعادة المحاولة في المحفظة عملية التحقق مفتوحة دون رابط مستند. يُرسم علم لكل رمز دولة يمكن أن يرسله Didit، ولا يُرسم العلم الخاطئ أبداً. عندما يُفعَّل سيناريو بيئة الاختبار على جلسة بدأت بالفعل، يُظهر الآن السبب بدلاً من خطأ عام. على Android، تعرض محفظة Credential Manager عبارة “التحقق باستخدام هوية رقمية”، لأن Google Wallet أو أي محفظة أخرى على Android تحمل هوية متوافقة يمكنها الرد عليها. لا يقدم iOS هذه الطريقة.ما الجديد في 4.12.2
تضع شاشة الترحيب الشعار في المنتصف فوق العنوان المحاذى إلى اليسار، ويعرض iOS شعار العميل بارتفاع 72 نقطة، كما يفعل Android والويب. في خطوة الأشخاص الرئيسيين لـ KYB، يفتح “إضافة ممثل” وفيه دور ممثل محدد، ويحفظ الشخص ضمن الممثلين حتى عندما يُعطّل سير العمل بعض الأدوار. في الاستبيانات، يبقى “مؤمَّن بواسطة” مثبتاً أسفل الزر على الشاشات القصيرة وعند النص الكبير، ويحمل منتقي الدولة في سؤال العنوان عنواناً خاصاً بالعنوان، وتأخذ القائمة المنسدلة المفتوحة زوايا الحقول.ما الجديد في 4.12.1
على iPhone تكون سعته التخزينية ممتلئة، تحتفظ التقاطات المستند والسيلفي الآن بالفيديو الخاص بها: يسجل iOS SDK هذه التسجيلات في الذاكرة، ولا يرفع أي تسجيل خالٍ من إطارات الفيديو. لم تعد إجابة الخادم المتأخرة عن إجابة مبكرة تعيد فتح الخطوة التي أُجيب عنها للتو (خطوة NFC أو السيلفي أو المستند)، على iOS وAndroid.ما الجديد في 4.12.0
شعارات لكل محفظة هوية رقمية يعرضها التدفق على الويب (Mobile-ID وConnectID وFinnish Trust Network وOneID وBank iD وMojeID وFranceConnect وAuðkenni والبطاقة الهوياتية الإستونية وGOV.UK Wallet)، على اللوحة نفسها البيضاء أو السوداء كما على الويب. تُوضح تلميحات الالتقاط ما يجب فعله عندما لا يعمل الالتقاط التلقائي، ويُبقي الترحيب جملته القانونية مثبتة عند أحجام النص الكبيرة، ولا يعرض بدء الجلسة المرفوض إعادة محاولة لا يمكن أن تنجح. تملك كاميرا المستند والسيلفي زر “تبديل الكاميرا” بجوار زر الالتقاط، ونُقل “تحميل” إلى “نصائح”، ولا يُلتقط أي شيء تلقائياً أثناء فتح ورقة سفلية فوق الكاميرا. على Android، تسمي ورقة “اختيار الكاميرا” الكاميرات “الكاميرا الأمامية” و”الكاميرا الخلفية” بكل اللغات.ما الجديد في 4.11.0
يتضمن الإصدار 4.11.0 أيضاً كل ما كان مخططاً للإصدار 4.10.0، الذي لم يُنشر أبداً، لذا قم بالترقية مباشرة من 4.9.1. يتمتع التدفق بواجهة مُعاد تصميمها مع شريط علوي جديد، والتقدم معروض بالكلمات، وشاشة ترحيب أُعيد بناؤها. أصبح الالتقاط التلقائي للمستند والسيلفي متاحاً في كل المتغيرات، باستخدام أدوات الكشف الخفيفة الخاصة بـ Didit، لذلك يلتقط المتغيرانCore وAutoDetection بالطريقة نفسها.
أصبح المتغير AutoDetection وحزمة Android didit-sdk-autodetection غير موصى بهما ومطابقان لـ Core، ولم تعد حزمة Android didit-sdk-autodetection-play منشورة.
خطوات جديدة: التحقق البنكي، والموقع (مع إمكانية تفعيله اختيارياً عبر متغيرات iOS Core-Location وNFC-Location وAll-Location)، والتوقيع الإلكتروني، والموافقة البيومترية.
ما الجديد في الإصدار 4.9.1
تفتح أداتا اختيار الدولة للمستند ولإثبات العنوان الآن على الدولة المكتشفة من عنوان IP الخاص بالمستخدم على iOS وAndroid، حتى لو اكتمل هذا البحث بعد ظهور الشاشة. لا يتم تجاوز الدولة المحددة في الجلسة أو الدولة التي يختارها المستخدم أبدًا. على Android، يظهر عنوان القسم وحقول الاستبيان بلغة SDK، ولم يعد مسح جواز السفر عبر NFC يتعطل في النسخة الكاملة. تم تحسين نصوص التحقق بالروسية والقيرغيزية على المنصتين.ما الجديد في الإصدار 4.9.0
تتيح جميع حزم SDK الأصلية والمتعددة المنصات للجوال الآن أداة اختيار لغة يمكن تفعيلها اختياريًا في شاشة الترحيب بالتحقق. اضبطshowLanguageSelector على true لعرض أداة الاختيار المدمجة والقابلة للبحث نفسها المستخدمة في مسار التحقق على الويب.
الأداة مخفية افتراضيًا، لذلك تحتفظ التكاملات الحالية بسلوكها الحالي إلى أن تفعّلها.
البديل: إذا لم يكن SDK الأصلي متاحًا لمنصتك بعد، يمكنك استخدام تكامل WebView كحل بديل.
كيف تسير جلسة التحقق
تعتمد كل حزم SDK الأصلية على جلسة التحقق نفسها في Didit. يسير التدفق على النحو الآتي:- خادمك الخلفي يستدعي
POST /v3/session/بـworkflow_idبالإضافة إلى أي سياق اختياري (vendor_data، وcontact_details، وexpected_details، وmetadata، وcallback). - تُرجع Didit الحقل
session_id، والحقلsession_tokenقصير العمر، والحقلurlالمستضاف. - تطبيقك الجوال يستلم
session_tokenمن خادمك الخلفي ويمرّره إلى SDK (startVerification(token: …)). - تفتح حزمة SDK الأصلية واجهة التحقق، ويُكمل المستخدم الخطوات، وتُرجع الحزمة نتيجة تتضمن الحالة النهائية للجلسة
status(Approved، أوDeclined، أوIn Review، إلخ). - خادمك الخلفي يستلم القرار الكامل عبر webhook (
webhook_type: "status.updated") ويحفظه.
تخبرك نتيجة SDK بنتيجة سير العمل (الحالة). أما القرار الكامل، الذي يشمل حقول المستند، ودرجات مطابقة الوجه، ونتائج AML، وبيانات NFC، والتحذيرات، فيُرسل إلى خادمك عبر webhook، ويمكن أيضاً جلبه من endpoint Retrieve Session Decision. لا تثق أبداً بالنتيجة من جهة العميل وحدها عند اتخاذ قرارات التفويض.
حزمة SDK لنظام iOS
متى تستخدمها: تطبيقات Swift وSwiftUI وUIKit الأصلية التي تستهدف iOS 13+. حزمة SDK خفيفة لنظام iOS تعتمد على الخادم للتحقق من الهوية، وتتطلب الحد الأدنى من الإعداد.مستودع GitHub
عرض الشيفرة المصدرية والأمثلة على GitHub
- دعم SwiftUI وUIKit
- قراءة جوازات السفر وبطاقات الهوية عبر NFC (iOS 15+؛ الإصداران
CoreوAutoDetectionبدون NFC يحذفان NFC وOpenSSL، ويعملان على iOS 13+) - دعم 54 لغة
- تخصيص مظهر الواجهة
- التكامل عبر token الجلسة أو معرّف سير العمل
حزمة SDK لنظام Android
متى تستخدمها: تطبيقات Kotlin وJetpack Compose وJava الأصلية التي تستهدف Android 6.0 (API 23) فما فوق. حزمة SDK خفيفة لنظام Android تعتمد على الخادم للتحقق من الهوية، وتتطلب الحد الأدنى من الإعداد.مستودع GitHub
عرض الشيفرة المصدرية والأمثلة على GitHub
- دعم Kotlin وJetpack Compose
- قراءة جوازات السفر وبطاقات الهوية عبر NFC (حزمة
me.didit:didit-sdk-coreالتي تُضمَّن اختياريًا تحذف تبعيات NFC) - اكتشاف المستندات والوجه تلقائياً بالتعلم الآلي على API 24+ (مع الانتقال بسلاسة إلى الالتقاط اليدوي على API 23)
- دعم 54 لغة
- تخصيص مظهر الواجهة
- التكامل عبر token الجلسة أو معرّف سير العمل
حزمة SDK لنظام React Native
متى تستخدمها: تطبيقات React Native أو Expo متعددة المنصات التي تحتاج إلى واجهة TypeScript موحدة لنظامي iOS وAndroid (RN 0.76+، والبنية الجديدة). حزمة SDK متعددة المنصات لـ React Native تغلّف حزمتي iOS وAndroid الأصليتين بواجهة TypeScript موحدة.مستودع GitHub
عرض الشيفرة المصدرية والأمثلة على GitHub
- واجهة TypeScript واحدة لنظامي iOS وAndroid
- دعم Expo مع إضافة إعدادات (config plugin) لا تتطلب إعدادًا (يلزم إنشاء نسخة تطوير، ولا يعمل مع Expo Go)
- دعم React Native CLI
- قراءة جوازات السفر وبطاقات الهوية عبر NFC (يمكن تعطيلها بضبط
DIDIT_SDK_IOS_NFC_ENABLED=falseأوdiditSdkAndroidNfcEnabled=false) - دعم 54 لغة (موروثة من حزم SDK الأصلية)
- التكامل عبر token الجلسة أو معرّف سير العمل
حزمة SDK لنظام Flutter
متى تستخدمها: تطبيقات Flutter متعددة المنصات التي تحتاج إلى واجهة Dart واحدة لنظامي iOS وAndroid (Flutter 3.3+، وDart 3.11+). حزمة Flutter SDK متعددة المنصات تغلّف حزمتي iOS وAndroid الأصليتين بواجهة Dart موحدة.حزمة pub.dev
عرض الحزمة على pub.dev
- واجهة Dart واحدة لنظامي iOS وAndroid
- تكامل عبر قناة المنصة مع حزم SDK الأصلية
- قراءة جوازات السفر وبطاقات الهوية عبر NFC (يمكن تعطيلها بضبط
DIDIT_SDK_IOS_NFC_ENABLED=falseأوdiditSdkAndroidNfcEnabled=false) - دعم 54 لغة (موروثة من حزم SDK الأصلية)
- التكامل عبر token الجلسة أو معرّف سير العمل
حزمة SDK للويب (JavaScript)
متى تستخدمها: تطبيقات قائمة على المتصفح وأطر عمل الويب (React وVue وAngular وNext.js وNuxt وSvelte وJavaScript الصرف). تفتح حزمة Web SDK تدفق التحقق المستضاف في نافذة منبثقة أو في iframe مدمج، وفي تطبيقات الجوال يُفضّل استخدام الحزم الأصلية أعلاه. حزمة JavaScript لتطبيقات الويب، تدعم React وVue وAngular وNext.js وNuxt وSvelte وJavaScript الصرف.NPM Package
View package on npm
- إدارة الجلسات برمجياً ومعالجة أحداث الاستدعاء
- دعم React وVue وAngular وNext.js وNuxt وSvelte وJavaScript الصرف
- دعم TypeScript كاملاً
- وضعا النافذة المنبثقة والتضمين المدمج
- إدارة الحالة لواجهات المستخدم المخصصة