توفّر علامات التبويب المخصّصة في Android تجربة متكاملة الميزات وآمنة وسلسة للمتصفّح مباشرةً ضمن عملية تسجيل الدخول إلى الشبكة في البوابات الأسيرة، مثل تلك المتوفّرة في المطارات والفنادق والطائرات. من خلال دمج المتصفّح الأساسي للمستخدم في عملية المصادقة، تتيح علامات التبويب المخصّصة وظائف متقدّمة، بما في ذلك التعبئة التلقائية بنقرة واحدة لبيانات الاعتماد والدفعات، والبث المحمي بنظام إدارة الحقوق الرقمية، والاتصال المتسق للمستخدمين الذين لديهم ميزات أمان، مثل شبكات VPN ونظام أسماء النطاقات الخاص. لمزيد من المعلومات عن علامات التبويب المخصّصة، اطّلِع على نظرة عامة على علامات التبويب المخصّصة في Android.
المزايا مقارنةً بمكوّن WebView القديم
يؤدي دمج المتصفّح الأساسي للمستخدم باستخدام علامات التبويب المخصّصة إلى حلّ العديد من القيود الوظيفية المتأصلة في عمليات المصادقة القديمة المستندة إلى WebView لمشغّلي الشبكات، وهي:
- إجراء المعاملات بسلاسة: تتيح الواجهة ميزة الملء التلقائي بنقرة واحدة لبيانات الاعتماد ومعلومات الدفع المحفوظة، ما يقلّل من إدخال البيانات يدويًا أثناء عملية تسجيل الدخول. (راجِع الشكل 1).
- توافق الوسائط: تتوافق المنصة مع المحتوى المحمي بنظام إدارة الحقوق الرقمية (مثل Widevine)، ما يتيح تشغيل بث الفيديو المشفّر مباشرةً داخل البوابة. (راجِع الشكل 2).
- التوافق مع إعدادات الأمان: تحافظ علامات التبويب المخصّصة على وظيفة البوابة للأجهزة التي تستخدم شبكات VPN أو نظام أسماء النطاقات الخاص، وهما من ميزات الأمان التي غالبًا ما تؤدي إلى تعذُّر عمليات إعادة التوجيه في المتصفّح العادي.
- اتساق الواجهة: تتكامل علامات التبويب المخصّصة مباشرةً مع متصفّح النظام، ما يوفّر الأدوات الوظيفية وعناصر واجهة المستخدم نفسها المتاحة في جلسة متصفّح كاملة.
- استمرار التشغيل في الخلفية: تظل البوابة تعمل في الخلفية، ما يتيح نقطة وصول دائمة طوال فترة الاتصال.
الشكل 1: الإدخال اليدوي (WebView) مقابل الملء التلقائي (علامات التبويب المخصّصة)
الشكل 2: عدم توفّر فيديو (WebView) مقابل تشغيل الفيديو (علامات التبويب المخصّصة)
عملية اكتشاف علامات التبويب المخصّصة والاتصال بها
في حين توفّر علامات التبويب المخصّصة الواجهة، تدير واجهة برمجة التطبيقات Captive Portal تدفّق المعلومات الذكية من الرصد إلى الاتصال على النحو التالي:
- الرصد: تعلن الشبكة عن توفّر واجهة برمجة التطبيقات باستخدام الخيار 114 من بروتوكول DHCP.
- التفاعل: يرسل جهاز Android طلب بحث إلى نقطة نهاية واجهة برمجة التطبيقات لاسترداد حمولة JSON تحتوي على حالة الشبكة.
- الاتصال: إذا أشارت استجابة JSON إلى استخدام علامات التبويب المخصّصة، سيفتح النظام البوابة في بيئة متصفّح عالية الأداء بدلاً من نافذة نظام أساسية.
تتيح واجهة برمجة التطبيقات Captive Portal API لأجهزة Android رصد ما إذا كان هناك مدخل مشروط الوصول إليه باستخدام الحقل captive. تدمج واجهة برمجة التطبيقات حقولاً أخرى، مثل
venue-info-url وseconds-remaining، في واجهة مستخدم نظام Android.
الشكل 3: اكتشاف واجهة برمجة التطبيقات الخاصة بالمدخل المشروط الوصول إليه إلى مسار الاتصال
تفعيل "علامات التبويب المخصّصة في Chrome" على Android
لإتاحة مسار "علامات التبويب المخصّصة"، على مشغّلي الشبكات تنفيذ Captive Portal API والموافقة على ذلك من خلال إعدادات JSON.
المتطلبات
يتطلّب تفعيل علامات التبويب المخصّصة لتسجيل الدخول إلى الشبكات ذات المداخل المشروط الوصول إليها ما يلي:
- جهاز يعمل بالإصدار 12 من نظام التشغيل Android والإصدارات الأحدث ويتوافق مع تحديثات نظام Google Play (راجِع Mainline) من خلال وحدة
CaptivePortalLoginMainline. - إتاحة استخدام واجهة برمجة التطبيقات Captive Portal API (RFC 8908) لمعرفة التفاصيل، يُرجى الاطّلاع على توافق واجهة برمجة التطبيقات Captive Portal API.
السماح باستخدام علامات التبويب المخصّصة في Android
إذا كانت شبكتك تتوافق مع Captive Portal API (RFC 8908)، أضِف زوج المفتاح والقيمة التالي إلى عنصر استجابة JSON الحالي لتفعيل مسار علامات التبويب المخصّصة:
| المفتاح | القيمة | الوصف |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
تمثّل هذه القيمة رقم إصدار وحدة Captive Portal Login Mainline التي تم إصدارها في يناير 2026. تستخدم الأجهزة التي تتضمّن تحديثًا للوحدة النمطية يساوي هذا الإصدار أو أحدث منه مسار تسجيل الدخول في علامات التبويب المخصّصة. |
يتضمّن مثال عنصر JSON هذا جميع سمات البوابة الأسيرة المتوافقة مع Android:
{
"captive": true,
"user-portal-url": "https://login.example.com",
"venue-info-url": "https://venue.example.com",
"seconds-remaining": 3600,
"x-android-use-custom-tabs": 361335020
}
في ما يلي سمات JSON المتاحة لبوابة تسجيل الدخول:
captive: اضبط القيمة علىtrueإذا كانت المصادقة مطلوبة، وعلىfalseإذا كان المستخدم متصلاً بالإنترنت.-
user-portal-url: عنوان URL لصفحة تسجيل الدخول أو الدفع venue-info-url: رابط يؤدي إلى موقعك الإلكتروني للحصول على معلومات (مثل تفاصيل الرحلة الجوية أو الخرائط).seconds-remaining: يشير إلى الوقت المتبقي (بالثواني) الذي من المتوقّع أن يحافظ الجهاز خلاله على الاتصال بالإنترنت.-
x-android-use-custom-tabs: تتحكّم هذه السمة في ما إذا كان الجهاز يستخدم علامة التبويب المخصّصة عند توفّرها.
التوافق مع Captive Portal API
إذا كانت شبكتك لا تتوافق مع Captive Portal API، اتّبِع الخطوات التالية لتفعيل Captive Portal API ومسار علامات التبويب المخصّصة.
عدِّل إعدادات خادم DHCP لتضمين خيار DHCP 114.
القيمة: أدخِل عنوان URL الكامل الذي يستخدم HTTPS لملف JSON الذي يتم إنشاؤه بشكل ديناميكي والذي يحتوي على معلومات حول المدخل المشروط الوصول إليه (على سبيل المثال،
https://api.yourvenue.com/status).النتيجة: عندما ينضم جهاز Android إلى الشبكة، يطلب البيانات من واجهة برمجة التطبيقات المقدَّمة بدلاً من انتظار إعادة توجيه المتصفّح.
اضبط خادم واجهة برمجة التطبيقات للردّ على طلب HTTP GET على عنوان URL المقدَّم باستخدام ملف JSON يبلّغ الجهاز بحالة البوابة الحالية.
متطلبات HTTPS: يجب أن يستخدم خادم واجهة برمجة التطبيقات شهادة HTTPS صالحة.
الرجوع إلى الإعدادات السابقة للأمان: إذا كانت الشهادة غير صالحة أو موقعة ذاتيًا، سيعود الجهاز إلى السلوك القديم لبوابة تسجيل الدخول.
سلوك ميزة "اكتشاف المدخل المشروط الوصول إليه" في Android
توفّر واجهة برمجة التطبيقات Captive Portal API بديلاً موثوقًا عن عمليات فحص الشبكة العادية في Android لرصد توفّر مدخل مشروط الوصول إليه، ما يؤدي إلى تجنُّب حالات عدم الاتساق الشائعة.
تتحقّق أجهزة Android من إمكانية الوصول إلى الشبكة من خلال إرسال عمليات فحص متزامنة عبر HTTP وHTTPS إلى عناوين URL معيّنة للتحقّق. ويؤدي عدم اتساق نجاح عمليات الفحص (على سبيل المثال، نجاح HTTP وتعذُّر HTTPS) إلى حالة اتصال جزئي، ما قد يمنع العرض التلقائي لتطبيق تسجيل الدخول.
تزيد واجهة برمجة التطبيقات Captive Portal API من موثوقية عملية الرصد باستخدام سلوك الرصد التالي:
- إذا أبلغت واجهة برمجة التطبيقات عن القيمة
"captive": true، سيتعرّف النظام على أنّ الشبكة محمية ببوابة وسيتخطّى عمليات التحقّق العادية لعرض واجهة تسجيل الدخول على الفور. - إذا عرضت واجهة برمجة التطبيقات الرمز
"captive": false، سيواصل النظام إجراء عمليات الفحص العادية، ما يتطلّب نجاح عمليات الفحص عبر HTTP وHTTPS قبل تأكيد إمكانية الوصول الكامل إلى الإنترنت.