الانتقال إلى المحتوى الرئيسي

أفضل الممارسات

Markdown

تجمع هذه الصفحة أهم الإرشادات لدمج SDKs الخاصة بـ Unico والحفاظ عليها. يُقلل اتباع هذه الممارسات من أخطاء الدمج، ويمنع الحوادث الأمنية، ويضمن إطلاقًا سلسًا في بيئة الإنتاج.

البدء​

ابدأ من تطبيق مرجعي

تقدّم Unico تطبيقًا مرجعيًا لكل SDK في مستودع reference-apps. ويُطبّق كل تطبيق رحلة المستخدم الكاملة.

احرص دائمًا على تحديث SDKs الخاصة بك

تتطور SDKs باستمرار لتوفير أمان أكبر وميزات جديدة. يُعد تطبيق التحديثات بسرعة — ولا سيما الحرجة منها — أمرًا ضروريًا. راجع سياسة التحديث للاطلاع على الجداول الزمنية والالتزامات.

تعرّف على أحدث إصدار متاح

تحقق من الإصدار الحالي لكل منصة من خلال ملاحظات الإصدار الخاصة بها:

استراتيجية التحديث​

تجنب تحديث SDK ومكونات أخرى في آنٍ واحد

من المرجح أن تطبيقك يُحمّل مكتبات متعددة إلى جانب Unico SDK. يُصعّب ترقية عدة تبعيات في آنٍ واحد تحديدَ السبب الجذري للأعطال. قم بتحديث SDK بصورة منفصلة وتحقق منه في بيئة التدريج قبل دمجه مع تغييرات أخرى.

الحصول على المساعدة في تحديث SDK

عند فتح تذكرة دعم لمشاكل التحديث، أدرج ما يلي:

  • لغة SDK ونوع التطبيق (أصلي أو هجين)
  • إطار العمل المُستخدَم
  • الإصدار الحالي والإصدار المستهدف
  • مفتاح API
  • وصف التغييرات وخطوات إعادة الإنتاج
  • النتائج والأخطاء والسجلات ولقطات الشاشة أو مقاطع الفيديو

أمان JWT​

لا تتلاعب بكائن JWT
لا تفتح أو تعدّل JWT المشفّر

إن JWT الذي يُعاد بعد التقاط ناجح مشفَّر. لا تفتحه أو تُحلله أو تُسلسله. قد تتغير بنيته الداخلية دون إشعار مسبق. استخدمه حصرًا عند إرسال الصور إلى واجهات برمجة تطبيقات Unico.

لمعاينة الصور، استخدم خاصية Base64 المُقدَّمة إلى جانب JWT — ولا تفك تشفير JWT نفسه أبدًا.

أرسل JWT في غضون 10 دقائق
تحذير

لأسباب أمنية، يجب إرسال JWT إلى الخلفية الخاصة بـ Unico في غضون 10 دقائق من الالتقاط. تُعدّ الحزم المُرسَلة بعد هذه المهلة غير صالحة.

أرسل JWT مرة واحدة فقط
تحذير

يجب إرسال JWT مرة واحدة فقط. إذا حدث خطأ أثناء الإرسال، يجب إجراء التقاط بيومتري جديد — لا تُعيد استخدام نفس JWT.

إرشادات الاختبار​

لا تستخدم المحاكاة الافتراضية أو المحاكيات

يُشغّل تشغيل SDK في الأجهزة الافتراضية أو المحاكيات رموز خطأ أمنية (73006، 73600، 73400). اختبر دائمًا على أجهزة فعلية لتجنب تحديد الأخطاء بشكل خاطئ والعمل الزائد غير الضروري.

لا تبقِ DevTools مفتوحًا أثناء عمليات التقاط الويب

يكتشف Web SDK حالة فتح DevTools كإشارة احتيال محتملة ويُبطل الإرسال. أغلق DevTools قبل إجراء اختبارات الالتقاط الشاملة.

أجرِ اختبارات في بيئة التدريج الخاصة بـ Unico​

قبل الانتقال إلى الإنتاج، أجرِ اختبارات شاملة في بيئة التدريج الخاصة بـ Unico مع سيناريوهات واقعية. استخدم مفاتيح API وإعدادات خاصة ببيئة التدريج — ولا تستخدم بيانات اعتماد الإنتاج في الاختبارات أبدًا.

تُطبّق بيئة التدريج (UAT) في IDCloud نفس معايير الأمان المتبعة في الإنتاج. توضّح الإرشادات التالية سبب ذلك وكيفية الاختبار دون انقطاع.

ما الذي تغيّر في بيئة التدريج

سابقًا — كانت تكتشف ولكن لا ترفض كانت الظروف الخارجة عن نمط الاستخدام الواقعي تُحدَّد، لكنها لم تمنع الالتقاط.

حاليًا — تكتشف وترفض تؤدي الظروف نفسها الآن إلى رفض إثبات الحياة، بنفس صرامة بيئة الإنتاج.

سبب وجود هذا القيد

المطابقة — التشابه مع بيئة الإنتاج ما ينجح في بيئة التدريج يجب أن يعمل بالطريقة نفسها في الإنتاج — ما يمنع فشل تكامل تمت الموافقة عليه في الاختبارات بشكل غير متوقع بعد الإطلاق.

ما يمكنك فعله وما لا يمكنك فعله

عند الاختبار في ظروف قريبة من الاستخدام الواقعي، لا تؤثر طبقات الأمان على عملية التطوير لديك.

أدوات التطوير غير القياسية في السوق تُفعّل تحققات الأمان، وقد يتم حجب العملية.

السيناريوالحالة
تنفيذ المسار الكامل للتكامل — الالتقاط والإرسال واستجابة API والنتيجة✅ مسموح
اختبار السيناريوهات الوظيفية: واجهة/تجربة المستخدم، الأداء، أخطاء العمل✅ مسموح
استخدام جهاز بالإعدادات القياسية للمستخدم النهائي✅ مسموح
التكامل مع الخدمات الخلفية وواجهات API ومعالجة البيانات✅ مسموح
استخدام جهاز مع root/jailbreak❌ غير مسموح
ترك وضع التصحيح / تصحيح USB مُفعّلًا❌ غير مسموح
استخدام المحاكيات أو المحاكاة الافتراضية❌ غير مسموح
استخدام كاميرات افتراضية أو أدوات أتمتة الالتقاط❌ غير مسموح
استخدام أدوات تغيّر الاتصال❌ غير مسموح
وجود MDM مؤسسي أو مراقبة نشطة على الجهاز❌ غير مسموح
استخدام بيئة معزولة داخل حاوية أو جهاز افتراضي❌ غير مسموح

أي من هذه الظروف قد يؤدي إلى رفض إثبات الحياة.

هل تعتمد دورة ضمان الجودة لديك على أحد هذه الظروف؟

تواصل مع فريق الدعم للحصول على إرشادات حول إعداد بيئتك. لا توجد استثناءات أو تصاريح فردية أو تخفيف مؤقت — تحافظ Unico على تكافؤ بيئة التدريج مع الإنتاج ما دامت تراه ضروريًا.

إرشادات خاصة بالمنصة​

Flutter: استخدم مكوّن Flutter الإضافي الخاص بـ Unico

لا تحاول ربط SDKs الأصلية لـ Android أو iOS داخل تطبيق Flutter. تُنتج الجسور الأصلية في الغالب أخطاءً غير مُعيَّنة. استخدم دائمًا مكوّن Flutter الإضافي المخصص من Unico.

Web: احذف ملفات الموارد القديمة عند تحديث الإصدارات

عند ترقية Web SDK، احذف ملفات الموارد القديمة من مجلد public الخاص بك قبل إدراج الجديدة. لن يتم استبدال الملفات ذات الأسماء المتطابقة تلقائيًا وقد تُسبب تعارضات في الإصدارات.

Mobile: امسح ذاكرة التخزين المؤقت قبل بناء إصدارات جديدة

يمكن أن تُسبب مخرجات البناء من إصدارات SDK السابقة أخطاء في التبعيات بعد التحديث. قبل بناء إصدار جديد:

  • Flutter: احذف pubspec.lock وشغّل flutter pub get
  • iOS: شغّل pod cache clean --all وpod install
  • Android: شغّل ./gradlew clean
إعدادات التعتيم

استثنِ كود Unico SDK من تهيئة التعتيم الخاصة بك. كثيرًا ما يُسبب تعتيم SDK أعطالًا في إصدارات الإنتاج لا تظهر في إصدارات التصحيح. راجع الوثائق الخاصة بالمنصة للاطلاع على قواعد الإبقاء المطلوبة.

تجربة المستخدم والأداء​

افصل تدفق الإعداد وفتح الكاميرا إلى خطوتين

هيكل تدفق SDK في مرحلتين متمايزتين:

  1. الإعداد — تهيئة SDK أثناء تحميل الصفحة (قبل تفاعل المستخدم).
  2. الفتح — تشغيل الكاميرا فقط عندما يُشغّل المستخدم الإجراء صراحةً.

يُقلل إعداد SDK مسبقًا من زمن الاستجابة المُدرَك ويُحسّن تجربة المستخدم بشكل ملحوظ.

إطلاق الإنتاج​

أنشئ قائمة مراجعة آمنة لإطلاق الإنتاج

قبل النشر في الإنتاج، تحقق مما يلي:

  • مفاتيح API للإنتاج وإعدادات البيئة صحيحة
  • خطة التراجع مُعرَّفة ومختبرة
  • بروتوكول جمع السجلات جاهز
  • إجراءات تذاكر الدعم مُوثَّقة للتعامل مع الأعطال
  • اجتازت جميع عمليات التحقق في بيئة التدريج