پیاده‌سازی برگه‌های سفارشی Android برای ورود به سیستم درگاه مهمان

«برگه‌های سفارشی Android» تجربه مرورگر کامل، ایمن، و یکپارچه‌ای را مستقیماً در جریان ورود به سیستم شبکه برای درگاه‌های مهمان، مانند درگاه‌های موجود در فرودگاه‌ها، هتل‌ها، و هواپیماها، ارائه می‌دهد. با ادغام مرورگر اصلی کاربر در فرایند اصالت‌سنجی، «برگه سفارشی» قابلیت‌های پیشرفته‌ای ازجمله تکمیل خودکار با یک ضربه برای اطلاعات اعتباری و پرداخت‌ها، جاری‌سازی محافظت‌شده با DRM، و اتصال‌پذیری یکپارچه برای کاربران دارای ویژگی‌های امنیتی مثل وی‌پی‌ان و «ساناد خصوصی» را فعال می‌کند. برای اطلاعات بیشتر درباره «برگه‌های سفارشی»، به نمای کلی برگه‌های سفارشی Android مراجعه کنید.

مزایای آن نسبت‌به «وب‌نمای» قدیمی

ادغام مرورگر اصلی کاربر بااستفاده از «زبانه سفارشی» چندین محدودیت عملکردی ذاتی در جریان‌های اصالت‌سنجی مبتنی بر «نمای وب» قدیمی برای اپراتورهای شبکه را برطرف می‌کند:

  • تراکنش‌های ساده‌شده: این رابط از تکمیل خودکار با یک تک‌ضرب برای اطلاعات اعتباری و اطلاعات پرداخت ذخیره‌شده پشتیبانی می‌کند و درطول فرایند ورود به سیستم، نیاز به وارد کردن دستی داده‌ها را کاهش می‌دهد. (شکل ۱ را ببینید.)
  • سازگاری رسانه: این پلاتفرم از محتوای محافظت‌شده با DRM (مانند Widevine) پشتیبانی می‌کند و امکان بازپخش مستقیم جاری‌سازی‌های ویدیویی رمزگذاری‌شده را در درگاه فراهم می‌کند. (شکل ۲ را ببینید.)
  • پشتیبانی از پیکربندی‌های امنیتی: «برگه‌های سفارشی» عملکرد درگاه را برای دستگاه‌هایی که از وی‌پی‌ان یا ساناد خصوصی استفاده می‌کنند حفظ می‌کند، ویژگی‌های امنیتی که اغلب باعث می‌شوند هدایت‌های مجدد مرورگر استاندارد با مشکل مواجه شوند.
  • سازگاری میانجی: «برگه‌های سفارشی» مستقیماً با مرورگر سیستم ادغام می‌شوند و همان ابزارهای کاربردی و عناصر میانجی کاربر را که در جلسه کامل مرورگر دردسترس است ارائه می‌دهند.
  • ماندگاری پس‌زمینه: درطول دوره اتصال، درگاه در پس‌زمینه فعال می‌ماند و به‌عنوان نقطه دسترسی پایدار عمل می‌کند.

ورودی دستی و تکمیل خودکار درگاه مهمان

شکل ۱. ورودی دستی (وب‌نما) دربرابر تکمیل خودکار (برگه‌های سفارشی).

بازپخش ویدیو درگاه مهمان

شکل ۲. بدون ویدیو (WebView) درمقابل بازپخش ویدیو (برگه‌های سفارشی).

جریان اتصال و کاوش «برگه‌های سفارشی»

درحالی‌که «برگه‌های سفارشی» میانای کاربری را ارائه می‌دهد، Captive Portal API جریان هوشمند از کشف تا اتصال را مدیریت می‌کند:

  1. کشف: شبکه بااستفاده از «گزینه ۱۱۴ قرارداد پیکربندی میزبان پویا» از پشتیبانی میانای برنامه‌سازی کاربردی خود تبلیغ می‌کند.
  2. تعامل: دستگاه Android از نقطه پایانی API برای واکشی کردن بار JSON حاوی وضعیت شبکه پُرسمان می‌کند.
  3. اتصال: اگر پاسخ JSON نشان دهد که باید از «برگه‌های سفارشی» استفاده شود، سیستم درگاه را به‌جای پنجره سیستم پایه در محیط مرورگر با عملکرد بالا باز می‌کند.

«میانای برنامه‌سازی کاربردی درگاه اجباری» به دستگاه‌های Android اجازه می‌دهد بااستفاده از فیلد captive تشخیص دهند درگاه اجباری وجود دارد یا نه. این «میانای برنامه‌سازی کاربردی» فیلدهای دیگری مثل venue-info-url و seconds-remaining را در واسط کاربر سیستم Android ادغام می‌کند.

کشف درگاه مهمان برای جریان اتصال

شکل ۳. کشف میانای برنامه‌سازی کاربردی درگاه اجباری برای جریان اتصال.

فعال کردن «زبانه سفارشی Android»

برای پشتیبانی از جریان «برگه‌های سفارشی»، اپراتورهای شبکه باید Captive Portal API را پیاده‌سازی کنند و ازطریق پیکربندی JSON موافقت کنند.

الزامات

برای فعال کردن «برگه‌های سفارشی» برای ورود به سیستم درگاه مهمان، موارد زیر لازم است:

  • دستگاه دارای Android 12 و بالاتر که از به‌روزرسانی‌های سیستم Google Play پشتیبانی می‌کند (به Mainline مراجعه کنید) ازطریق واحد Mainline CaptivePortalLogin پشتیبانی می‌کند.
  • پشتیبانی از Captive Portal API (RFC 8908). برای جزئیات، پشتیبانی از Captive Portal API را ببینید.

موافقت کردن با «زبانه سفارشی Android»

اگر شبکه‌تان ازقبل از Captive Portal API (RFC 8908) پشتیبانی می‌کند، جفت کلید-مقدار زیر را به شیء پاسخ JSON موجود اضافه کنید تا جریان «برگه‌های سفارشی» فعال شود:

کلید مقدار شرح
x-android-use-custom-tabs 361335020 این مقدار نشان‌دهنده شماره نسخه واحد «خط اصلی ورود به سیستم درگاه اسیر» منتشرشده در ژانویه ۲۰۲۶ است. دستگاه‌هایی که به‌روزرسانی واحدی معادل یا جدیدتر از این نسخه دارند از جریان ورود به سیستم «برگه سفارشی» استفاده می‌کنند.

این شیء 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: نشانی وب صفحه ورود به سیستم یا پرداخت.
  • venue-info-url: پیوندی به سایت شما برای اطلاعات (برای مثال، جزئیات پرواز یا نقشه‌ها).
  • seconds-remaining: نشان‌دهنده زمان باقی‌مانده (به ثانیه) است که انتظار می‌رود دستگاه اتصال اینترنت را حفظ کند.
  • x-android-use-custom-tabs: کنترل می‌کند که آیا دستگاه از برگه سفارشی درصورت دردسترس بودن استفاده می‌کند یا نه.

از «میانای برنامه‌سازی کاربردی درگاه مهمان» پشتیبانی کنید

اگر شبکه شما از Captive Portal API پشتیبانی نمی‌کند، این مراحل را برای فعال کردن Captive Portal API و جریان «برگه سفارشی» دنبال کنید.

  1. پیکربندی سرور DHCP خود را به‌روز کنید تا گزینه DHCP 114 را دربرگیرد.

    • مقدار: نشانی وب HTTPS کامل فایل JSON تولیدشده به‌صورت پویا را که حاوی اطلاعات درگاه ورود اجباری است ارائه دهید (برای مثال، https://api.yourvenue.com/status).

    • نتیجه: وقتی دستگاه Android به شبکه می‌پیوندد، به‌جای منتظر ماندن برای بازهدایت مرورگر، API ارائه‌شده را پُرسمان می‌کند.

  2. سرور میانای برنامه‌سازی کاربردی خود را پیکربندی کنید تا به درخواست HTTP GET در نشانی وب ارائه‌شده با فایل JSON که دستگاه را از وضعیت فعلی درگاه مطلع می‌کند پاسخ دهد.

    • الزام HTTPS: سرور API شما باید از گواهینامه HTTPS معتبری استفاده کند.

    • امنیت برگشتی: اگر گواهینامه نامعتبر یا خودامضاشده باشد، دستگاه به رفتار قدیمی درگاه اسیر برمی‌گردد.

عملکرد تشخیص پرتال ثبت‌نام غیرحضوری Android

«میانای برنامه‌سازی کاربردی درگاه اجباری» جایگزین مطمئنی برای کاوشگرهای شبکه استاندارد Android ارائه می‌دهد تا وجود درگاه اجباری را تشخیص دهد و از ناسازگاری‌های رایج جلوگیری کند.

دستگاه‌های Android با ارسال هم‌زمان کاوشگرهای HTTP و HTTPS به نشانی‌های وب اعتبارسنجی خاص، دسترسی به شبکه را بررسی می‌کنند. موفقیت ناهمگون کاوشگر (برای مثال، ‫HTTP موفق باشد اما HTTPS ناموفق باشد) منجر به وضعیت اتصال جزئی می‌شود که می‌تواند از نمایش خودکار برنامه ورود به سیستم جلوگیری کند.

«میانای برنامه‌سازی کاربردی درگاه اجباری» بااستفاده از رفتار شناسایی زیر، شناسایی را قابل‌اعتمادتر می‌کند:

  • اگر API مقدار "captive": true را گزارش کند، سیستم تشخیص می‌دهد که در پشت درگاهی قرار دارد و از کاوشگرهای استاندارد صرف‌نظر می‌کند تا بلافاصله میانای ورود به سیستم را نشان دهد.
  • اگر API گزارش "captive": false را ارائه دهد، سیستم با کاوش‌های استاندارد ادامه می‌دهد و برای تأیید دسترسی کامل به اینترنت، لازم است کاوش‌های HTTP و HTTPS موفق باشند.

بازخورد

برای ارائه بازخورد، به ما ایمیل بزنید: android-cct@google.com. ما آزادیم از بازخورد شما برای ساختن و بهبود محصولات و ویژگی‌هایمان برای بهره‌مندی همه استفاده کنیم.