أفضل الممارسات
تجمع هذه الصفحة أهم الإرشادات لدمج SDKs الخاصة بـ Unico والحفاظ عليها. يُقلل اتباع هذه الممارسات من أخطاء الدمج، ويمنع الحوادث الأمنية، ويضمن إطلاقًا سلسًا في بيئة الإنتاج.
البدء
تقدّم Unico تطبيقًا مرجعيًا لكل SDK في مستودع reference-apps. ويُطبّق كل تطبيق رحلة المستخدم الكاملة.
تتطور SDKs باستمرار لتوفير أمان أكبر وميزات جديدة. يُعد تطبيق التحديثات بسرعة — ولا سيما الحرجة منها — أمرًا ضروريًا. راجع سياسة التحديث للاطلاع على الجداول الزمنية والالتزامات.
تحقق من الإصدار الحالي لكل منصة من خلال ملاحظات الإصدار الخاصة بها:
استراتيجية التحديث
من المرجح أن تطبيقك يُحمّل مكتبات متعددة إلى جانب Unico SDK. يُصعّب ترقية عدة تبعيات في آنٍ واحد تحديدَ السبب الجذري للأعطال. قم بتحديث SDK بصورة منفصلة وتحقق منه في بيئة التدريج قبل دمجه مع تغييرات أخرى.
عند فتح تذكرة دعم لمشاكل التحديث، أدرج ما يلي:
- لغة SDK ونوع التطبيق (أصلي أو هجين)
- إطار العمل المُستخدَم
- الإصدار الحالي والإصدار المستهدف
- مفتاح API
- وصف التغي يرات وخطوات إعادة الإنتاج
- النتائج والأخطاء والسجلات ولقطات الشاشة أو مقاطع الفيديو
أمان JWT
إن JWT الذي يُعاد بعد التقاط ناجح مشفَّر. لا تفتحه أو تُحلله أو تُسلسله. قد تتغير بنيته الداخلية دون إشعار مسبق. استخدمه حصرًا عند إرسال الصور إلى واجهات برمجة تطبيقات Unico.
لمعاينة الصور، استخدم خاصية Base64 المُقدَّمة إلى جانب JWT — ولا تفك تشفير JWT نفسه أبدًا.
لأسباب أمنية، يجب إرسال JWT إلى الخلفية الخاصة بـ Unico في غضون 10 دقائق من الالتقاط. تُعدّ الحزم المُرسَلة بعد هذه المهلة غير صالحة.
يجب إرسال JWT مرة واحدة فقط. إذا حدث خطأ أثناء الإرسال، يجب إجراء التقاط بيومتري جديد — لا تُعيد استخدام نفس JWT.
إرشادات الاختبار
يُشغّل تشغيل SDK في الأجهزة الافتراضية أو المحاكيات رموز خطأ أمنية (73006، 73600، 73400). اختبر دائمًا على أجهزة فعلية لتجنب تحديد الأخطاء بشكل خاطئ والعمل الزائد غير الضروري.
يكتشف Web SDK حالة فتح DevTools كإشارة احتيال محتملة ويُبطل الإرسال. أغلق DevTools قبل إجراء اختبارات الالتقاط الشاملة.
أجرِ اختبارات في بيئة التدريج الخاصة بـ Unico
قبل الانتقال إلى الإنتاج، أجرِ اختبارات شاملة في بيئة التدريج الخاصة بـ Unico مع سيناريوهات واقعية. استخدم مفاتيح API وإعدادات خاصة ببيئة التدريج — ولا تستخدم بيانات اعتماد الإنتاج في الاختبارات أبدًا.
تُطبّق بيئة التدريج (UAT) في IDCloud نفس معايير الأمان المتبعة في الإنتاج. توضّح الإرشادات التالية سبب ذلك وكيفية الاختبار دون انقطاع.
سابقًا — كانت تكتشف ولكن لا ترفض كانت الظروف الخارجة عن نمط الاستخدام الواقعي تُحدَّد، لكنها لم تمنع الالتقاط.
حاليًا — تكتشف وترفض تؤدي الظروف نفسها الآن إلى رفض إثبات الحياة، بنفس صرامة بيئة الإنتاج.
المطابقة — التشابه مع بيئة الإنتاج ما ينجح في بيئة التدريج يجب أن يعمل بالطريقة نفسها في الإنتاج — ما يمنع فشل تكامل تمت الموافقة عليه في الاختبارات بشكل غير متوقع بعد الإطلاق.
عند الاختبار في ظروف قريبة من الاستخدام الواقعي، لا تؤثر طبقات الأمان على عملية التطوير لديك.
أدوات التطوير غير القياسية في السوق تُفعّل تحققات الأمان، وقد يتم حجب العملية.
| السيناريو | الحالة |
|---|---|
| تنفيذ المسار الكامل للتكامل — الالتقاط والإرسال واستجابة API والنتيجة | ✅ مسموح |
| اختبار السيناريوهات الوظيفية: واجهة/تجربة المستخدم، الأداء، أخطاء العمل | ✅ مسموح |
| استخدام جهاز بالإعدادات القياسية للمستخدم النهائي | ✅ مسموح |
| التكامل مع الخدمات الخلفية وواجهات API ومعالجة البيانات | ✅ مسموح |
| استخدام جهاز مع root/jailbreak | ❌ غير مسموح |
| ترك وضع التصحيح / تصحيح USB مُفعّلًا | ❌ غير مسموح |
| استخدام المحاكيات أو المحاكاة الافتراضية | ❌ غير مسموح |
| استخدام كاميرات افتراضية أو أدوات أتمتة الالتقاط | ❌ غير مسموح |
| استخدام أدوات تغيّر الاتصال | ❌ غير مسموح |
| وجود MDM مؤسسي أو مراقبة نشطة على الجهاز | ❌ غير مسموح |
| استخدام بيئة معزولة داخل حاوية أو جهاز افتراضي | ❌ غير مسموح |
أي من هذه الظروف ق د يؤدي إلى رفض إثبات الحياة.
تواصل مع فريق الدعم للحصول على إرشادات حول إعداد بيئتك. لا توجد استثناءات أو تصاريح فردية أو تخفيف مؤقت — تحافظ Unico على تكافؤ بيئة التدريج مع الإنتاج ما دامت تراه ضروريًا.
إرشادات خاصة بالمنصة
لا تحاول ربط SDKs الأصلية لـ Android أو iOS داخل تطبيق Flutter. تُنتج الجسور الأصلية في الغالب أخطاءً غير مُعيَّنة. استخدم دائمًا مكوّن Flutter الإضافي المخصص من Unico.
عند ترقية Web SDK، احذف ملفات الموارد القديمة من مجلد public الخاص بك قبل إدراج الجديدة. لن يتم استبدال الملفات ذات الأسماء المتطابقة تلقائيًا وقد تُسبب تعارضات في الإصدارات.
يمكن أن تُسبب مخرجات البناء من إصدارات SDK السابقة أخطاء في التبعيات بعد التحديث. قبل بناء إصدار جديد:
- Flutter: احذف
pubspec.lockوشغّلflutter pub get - iOS: شغّل
pod cache clean --allوpod install - Android: شغّل
./gradlew clean
استثنِ كود Unico SDK من تهيئة التعتيم الخاصة بك. كثيرًا ما يُسبب تعتيم SDK أعطالًا في إصدارات الإنتاج لا تظهر في إصدارات التصحيح. راجع الوثائق الخاصة بالمنصة للاطلاع على قواعد الإبقاء المطلوبة.
تجربة المستخدم والأداء
هيكل تدفق SDK في مرحلتين متمايزتين:
- الإعداد — تهيئة SDK أثناء تحميل الصفح ة (قبل تفاعل المستخدم).
- الفتح — تشغيل الكاميرا فقط عندما يُشغّل المستخدم الإجراء صراحةً.
يُقلل إعداد SDK مسبقًا من زمن الاستجابة المُدرَك ويُحسّن تجربة المستخدم بشكل ملحوظ.
إطلاق الإنتاج
قبل النشر في الإنتاج، تحقق مما يلي:
- مفاتيح API للإنتاج وإعدادات البيئة صحيحة
- خطة التراجع مُعرَّفة ومختبرة
- بروتوكول جمع السجلات جاهز
- إجراءات تذاكر الدعم مُوثَّقة للتعامل مع الأعطال
- اجتازت جميع عمليات التحقق في بيئة التدريج