تنفيذ علامات التبويب المخصّصة في Android لتسجيل الدخول إلى المدخل المشروط الوصول إليه

توفّر علامات التبويب المخصّصة في Android تجربة متكاملة الميزات وآمنة وسلسة للمتصفّح مباشرةً ضمن عملية تسجيل الدخول إلى الشبكة عبر البوابات الأسيرة، مثل تلك المتوفّرة في المطارات والفنادق والطائرات. من خلال دمج المتصفّح الأساسي للمستخدم في عملية المصادقة، تتيح علامات التبويب المخصّصة وظائف متقدّمة، بما في ذلك الملء التلقائي بنقرة واحدة لبيانات الاعتماد وعمليات الدفع، والبث المحمي بنظام إدارة الحقوق الرقمية (DRM)، والاتصال المتسق للمستخدمين الذين لديهم ميزات أمان، مثل شبكات VPN ونظام أسماء النطاقات الخاص. لمزيد من المعلومات عن علامات التبويب المخصّصة، اطّلِع على نظرة عامة على علامات التبويب المخصّصة في Android.

المزايا مقارنةً بمكوّن WebView القديم

يؤدي دمج المتصفّح الأساسي للمستخدم باستخدام علامات التبويب المخصّصة إلى حلّ العديد من القيود الوظيفية المتأصلة في عمليات المصادقة القديمة المستندة إلى WebView لمشغّلي الشبكات، وهي:

  • إجراء المعاملات بسلاسة: تتيح الواجهة ميزة الملء التلقائي بنقرة واحدة لبيانات الاعتماد ومعلومات الدفع المحفوظة، ما يقلّل من الحاجة إلى إدخال البيانات يدويًا أثناء عملية تسجيل الدخول. (راجِع الشكل 1).
  • توافق الوسائط: تتوافق المنصة مع المحتوى المحمي بنظام إدارة الحقوق الرقمية (مثل Widevine)، ما يتيح تشغيل فيديوهات مشفّرة مباشرةً داخل البوابة. (راجِع الشكل 2).
  • التوافق مع إعدادات الأمان: تحافظ علامات التبويب المخصّصة على وظائف البوابة للأجهزة التي تستخدم شبكات VPN أو نظام أسماء النطاقات الخاص، وهما ميزتان للأمان غالبًا ما تتسبّبان في تعذُّر عمليات إعادة التوجيه في المتصفّح العادي.
  • اتساق الواجهة: تتكامل علامات التبويب المخصّصة مباشرةً مع متصفّح النظام، ما يوفّر الأدوات الوظيفية وعناصر واجهة المستخدم نفسها المتوفّرة في جلسة متصفّح كاملة.
  • استمرار التشغيل في الخلفية: تظل البوابة تعمل في الخلفية، ما يتيح نقطة وصول دائمة طوال فترة الاتصال.

الإدخال اليدوي والتعبئة التلقائية في المدخل المشروط الوصول إليه

الشكل 1: الإدخال اليدوي (WebView) مقابل الملء التلقائي (علامات التبويب المخصّصة)

تشغيل الفيديو من خلال مدخل مشروط الوصول إليه

الشكل 2: عدم توفّر فيديو (WebView) مقابل تشغيل الفيديو (علامات التبويب المخصّصة)

مسار اكتشاف علامات التبويب المخصّصة والاتصال بها

في حين توفّر علامات التبويب المخصّصة الواجهة، تدير واجهة برمجة التطبيقات Captive Portal تدفّق المعلومات الذكي من الرصد إلى الاتصال على النحو التالي:

  1. الاستكشاف: تعلن الشبكة عن توفّر واجهة برمجة التطبيقات باستخدام الخيار 114 من بروتوكول DHCP.
  2. التفاعل: يرسل جهاز Android طلبًا إلى نقطة نهاية واجهة برمجة التطبيقات لاسترداد حمولة JSON تحتوي على حالة الشبكة.
  3. الاتصال: إذا أشارت استجابة JSON إلى استخدام علامات التبويب المخصّصة، سيفتح النظام البوابة في بيئة متصفّح عالية الأداء بدلاً من نافذة نظام أساسية.

تتيح واجهة برمجة التطبيقات Captive Portal API لأجهزة Android رصد ما إذا كان هناك مدخل مشروط الوصول إليه باستخدام الحقل captive. تدمج واجهة برمجة التطبيقات حقولاً أخرى، مثل venue-info-url وseconds-remaining، في واجهة مستخدم نظام Android.

مسار اكتشاف المداخل المشروط الوصول إليها والاتصال بها

الشكل 3: اكتشاف واجهة برمجة التطبيقات الخاصة بالمدخل المشروط الوصول إليه إلى مسار الاتصال

تفعيل "علامات التبويب المخصّصة في Android"

لإتاحة مسار "علامات التبويب المخصّصة"، على مشغّلي الشبكات تنفيذ Captive Portal API والموافقة على ذلك من خلال إعداد JSON.

المتطلبات

يتطلّب تفعيل علامات التبويب المخصّصة لتسجيل الدخول إلى المدخل المشروط الوصول إليه ما يلي:

  • جهاز يعمل بالإصدار 12 من نظام التشغيل Android والإصدارات الأحدث ويتوافق مع تحديثات نظام Google Play (راجِع Mainline) من خلال وحدة CaptivePortalLogin Mainline.
  • إتاحة استخدام واجهة برمجة التطبيقات Captive Portal API (RFC 8908) لمعرفة التفاصيل، يُرجى الاطّلاع على توافق الجهاز مع Captive Portal API.

تفعيل علامات التبويب المخصّصة في Chrome على 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 ومسار "علامات التبويب المخصّصة".

  1. عدِّل إعدادات خادم DHCP لتضمين خيار DHCP 114.

    • القيمة: أدخِل عنوان URL الكامل الذي يستخدم HTTPS لملف JSON الذي يتم إنشاؤه ديناميكيًا والذي يحتوي على معلومات حول المدخل المشروط الوصول إليه (على سبيل المثال، https://api.yourvenue.com/status).

    • النتيجة: عندما ينضم جهاز Android إلى الشبكة، يطلب البيانات من واجهة برمجة التطبيقات المقدَّمة بدلاً من انتظار إعادة توجيه المتصفّح.

  2. اضبط خادم واجهة برمجة التطبيقات للردّ على طلب استرداد بيانات باستخدام GET على عنوان URL المقدَّم باستخدام ملف JSON يبلّغ الجهاز بحالة البوابة الحالية.

    • متطلبات HTTPS: يجب أن يستخدم خادم واجهة برمجة التطبيقات شهادة HTTPS صالحة.

    • الرجوع إلى الإعدادات السابقة للأمان: إذا كانت الشهادة غير صالحة أو موقعة ذاتيًا، سيعود الجهاز إلى السلوك القديم لبوابة تسجيل الدخول.

سلوك ميزة "رصد المدخل المشروط الوصول إليه" في Android

توفّر Captive Portal API بديلاً موثوقًا عن عمليات فحص الشبكة العادية في Android لرصد توفّر مدخل مشروط الوصول إليه، ما يتيح تجنُّب حالات عدم الاتساق الشائعة.

تتحقّق أجهزة Android من إمكانية الوصول إلى الشبكة من خلال إرسال عمليات فحص متزامنة لبروتوكولَي HTTP وHTTPS إلى عناوين URL معيّنة للتحقّق. ويؤدي عدم اتساق نجاح عمليات الفحص (على سبيل المثال، نجاح HTTP ولكن تعذُّر HTTPS) إلى حالة اتصال جزئي، ما قد يمنع العرض التلقائي لتطبيق تسجيل الدخول.

تزيد واجهة برمجة تطبيقات Captive Portal من موثوقية عملية الرصد باستخدام سلوك الرصد التالي:

  • إذا أبلغت واجهة برمجة التطبيقات عن "captive": true، سيتعرّف النظام على أنّها محمية ببوابة ويتخطّى عمليات التحقّق العادية لعرض واجهة تسجيل الدخول على الفور.
  • إذا عرضت واجهة برمجة التطبيقات الرمز "captive": false، سيواصل النظام إجراء عمليات الفحص العادية، ما يتطلّب نجاح عمليات الفحص باستخدام كلّ من HTTP وHTTPS قبل تأكيد إمكانية الوصول الكامل إلى الإنترنت.

الملاحظات

لتقديم ملاحظاتك، يُرجى إرسال رسالة إلكترونية إلى android-cct@google.com. يحق لنا استخدام ملاحظاتك في إنشاء منتجاتنا وميزاتنا وتحسينها بما يعود بالنفع على الجميع.