متى تستخدم WebView
استخدم تكامل WebView فقط في الحالات التالية:- إذا كنت تبني على منصة لا توجد لها حزمة SDK أصلية (مثل Xamarin أو Cordova أو أطر عمل أخرى أقل انتشارًا)
- إذا كنت تحتاج إلى نموذج أولي سريع أو إثبات مفهوم قبل دمج حزمة SDK الأصلية
- إذا كنت تنتقل من الويب وتريد جسرًا مؤقتًا إلى تكامل أصلي
كيف يعمل
1
إنشاء جلسة
يستدعي الخادم الخلفي واجهة برمجة التطبيقات لإنشاء جلسة ويتلقى رابطًا مستضافًا في الحقل
url.2
الفتح في WebView
يحمّل تطبيقك العنوان
url في مكوّن WebView.3
يُكمل المستخدم التحقق
ينتقل المستخدم عبر تدفق التحقق داخل WebView.
4
اعتراض رد الاستدعاء
عند الانتهاء، تنتقل WebView إلى رابط الاستدعاء الخاص بك. يعترض تطبيقك هذا الانتقال ويستخرج النتيجة.
5
الحصول على النتائج الكاملة عبر webhook
يتلقى خادمك الخلفي بيانات القرار الكاملة عبر webhook.
إنشاء جلسة
قبل فتح تدفق التحقق، أنشئ جلسة من خادمك الخلفي:201، إذ يتضمن الحقل url الرمز session_token المكوّن من 12 حرفًا، وليس session_id):
url في WebView، ولا تبنِه يدويًا من session_token أبدًا.
React Native
ثبّت حزمة WebView:التنفيذ
عرض توضيحي لـ React Native
مثال للتحقق باستخدام Expo وWebView
Flutter
أضف الحزم المطلوبة إلىpubspec.yaml:
التنفيذ
عرض توضيحي لـ Flutter
مثال للتحقق باستخدام WebView في Flutter
الإعداد الحرج
وكيل المستخدم (مطلوب)
يجب عليك ضبط وكيل مستخدم عام للهاتف المحمول حتى تعمل WebView بشكل صحيح:إعدادات الوسائط (مطلوبة)
معالجة الاستدعاء
بعد التحقق، تعيد WebView التوجيه إلى رابط الاستدعاء الخاص بك مع معاملات الاستعلام:استكشاف الأخطاء وإصلاحها
الكاميرا لا تعمل
الكاميرا لا تعمل
- تأكد من أن قيمة
mediaPlaybackRequiresUserGestureهيfalse - تحقق من منح أذونات الكاميرا على مستوى نظام التشغيل
- تأكد من ضبط سلسلة وكيل المستخدم بشكل صحيح
شاشة بيضاء أو مشكلات في التحميل
شاشة بيضاء أو مشكلات في التحميل
- تحقق من أن عنوان URL للجلسة صالح وغير منتهٍ
- تحقق من الاتصال بالإنترنت
- تأكد من تفعيل JavaScript في إعدادات WebView
عدم تشغيل الاستدعاء
عدم تشغيل الاستدعاء
- تحقق من أن رابط الاستدعاء يطابق ما ضبطته عند إنشاء الجلسة
- تأكد من ضبط مفوّض التنقل أو المستمع بشكل صحيح
- جرّب ضبط
callback_methodعلى"both"عند إنشاء الجلسة