ใช้แท็บที่กำหนดเองของ Android สำหรับการเข้าสู่ระบบแคพทีฟพอร์ทัล

แท็บที่กำหนดเองของ Android มอบประสบการณ์การใช้งานเบราว์เซอร์ที่ราบรื่น ปลอดภัย และมีฟีเจอร์ครบถ้วน ภายในขั้นตอนการเข้าสู่ระบบเครือข่ายโดยตรงสำหรับแคพทีฟพอร์ทัล เช่น ที่พบในสนามบิน โรงแรม และเครื่องบิน การผสานรวมเบราว์เซอร์หลักของผู้ใช้เข้ากับกระบวนการตรวจสอบสิทธิ์จะช่วยให้แท็บที่กำหนดเองมีฟังก์ชันขั้นสูง ซึ่งรวมถึงการป้อนข้อมูลอัตโนมัติด้วยการแตะเพียงครั้งเดียวสำหรับข้อมูลเข้าสู่ระบบและการชำระเงิน การสตรีมที่ได้รับการปกป้องด้วย DRM และการเชื่อมต่อที่สอดคล้องกันสำหรับผู้ใช้ที่มีฟีเจอร์ความปลอดภัย เช่น VPN และ DNS ส่วนตัว ดูข้อมูลเพิ่มเติมเกี่ยวกับแท็บที่กำหนดเองได้ที่ ภาพรวมของแท็บที่กำหนดเองของ Android

ประโยชน์เหนือ WebView เดิม

การผสานรวมเบราว์เซอร์หลักของผู้ใช้โดยใช้แท็บที่กำหนดเองจะช่วยแก้ปัญหาข้อจำกัดด้านฟังก์ชันการทำงานหลายประการที่อยู่ในโฟลว์การตรวจสอบสิทธิ์ที่อิงตาม WebView เวอร์ชันเดิมสำหรับผู้ให้บริการเครือข่าย

  • ธุรกรรมที่มีประสิทธิภาพ: อินเทอร์เฟซรองรับการป้อนข้อความอัตโนมัติแบบแตะครั้งเดียวสำหรับข้อมูลเข้าสู่ระบบและข้อมูลการชำระเงินที่จัดเก็บไว้ ซึ่งช่วยลดการป้อนข้อมูลด้วยตนเองในระหว่างกระบวนการเข้าสู่ระบบ (ดูรูปที่ 1)
  • ความเข้ากันได้ของสื่อ: แพลตฟอร์มรองรับเนื้อหาที่ได้รับการปกป้องด้วย DRM (เช่น Widevine) ซึ่งช่วยให้เล่นสตรีมวิดีโอที่เข้ารหัสได้โดยตรงภายในพอร์ทัล (ดูรูปที่ 2)
  • รองรับการกำหนดค่าความปลอดภัย: แท็บที่กำหนดเองจะยังคงฟังก์ชันพอร์ทัล สำหรับอุปกรณ์ที่ใช้ VPN หรือ DNS ส่วนตัว รวมถึงฟีเจอร์ด้านความปลอดภัย ซึ่งมักทำให้การเปลี่ยนเส้นทางของเบราว์เซอร์มาตรฐานล้มเหลว
  • ความสอดคล้องของอินเทอร์เฟซ: แท็บที่กำหนดเองผสานรวมกับเบราว์เซอร์ของระบบโดยตรง ซึ่งมีเครื่องมือที่ใช้งานได้และองค์ประกอบ UI เดียวกันกับที่มีในเซสชันเบราว์เซอร์แบบเต็ม
  • การทำงานในเบื้องหลังอย่างต่อเนื่อง: พอร์ทัลจะยังคงทำงานใน เบื้องหลัง โดยทำหน้าที่เป็นจุดเข้าถึงที่ต่อเนื่องตลอดระยะเวลาการเชื่อมต่อ

การป้อนข้อมูลด้วยตนเองและการป้อนอัตโนมัติในแคพทีฟพอร์ทัล

รูปที่ 1 การป้อนข้อมูลด้วยตนเอง (WebView) เทียบกับการป้อนข้อความอัตโนมัติ (แท็บที่กำหนดเอง)

การเล่นวิดีโอในแคพทีฟพอร์ทัล

รูปที่ 2 ไม่มีวิดีโอ (WebView) เทียบกับการเล่นวิดีโอ (แท็บที่กำหนดเอง)

ขั้นตอนการค้นพบและการเชื่อมต่อแท็บที่กำหนดเอง

แม้ว่าแท็บที่กำหนดเองจะมีอินเทอร์เฟซ แต่ Captive Portal API จะจัดการโฟลว์ความอัจฉริยะของการค้นพบไปจนถึงการเชื่อมต่อ ดังนี้

  1. การค้นหา: เครือข่ายจะโฆษณาการรองรับ API โดยใช้ตัวเลือก DHCP 114
  2. การโต้ตอบ: อุปกรณ์ Android จะส่งคำค้นหาไปยังปลายทาง API เพื่อดึงข้อมูลเพย์โหลด JSON ที่มีสถานะเครือข่าย
  3. การเชื่อมต่อ: หากการตอบกลับ JSON ส่งสัญญาณให้ใช้แท็บที่กำหนดเอง ระบบจะเปิดพอร์ทัลในสภาพแวดล้อมเบราว์เซอร์ที่มีประสิทธิภาพสูงแทนหน้าต่างระบบพื้นฐาน

Captive Portal API ช่วยให้อุปกรณ์ Android ตรวจหาว่ามีแคปทีฟพอร์ทัล หรือไม่โดยใช้ฟิลด์ captive API จะผสานรวมฟิลด์อื่นๆ เช่น venue-info-url และ seconds-remaining เข้ากับ UI ของระบบ Android

การค้นพบแคพทีฟพอร์ทัลจนถึงขั้นตอนการเชื่อมต่อ

รูปที่ 3 การค้นหา API ของแคพทีฟพอร์ทัลไปยังขั้นตอนการเชื่อมต่อ

เปิดใช้แท็บที่กำหนดเองของ Android

หากต้องการรองรับโฟลว์ของแท็บที่กำหนดเอง ผู้ให้บริการเครือข่ายต้องใช้ Captive Portal API และเลือกใช้ผ่านการกำหนดค่า JSON

ข้อกำหนด

การเปิดใช้แท็บที่กำหนดเองสำหรับการเข้าสู่ระบบแคพทีฟพอร์ทัลต้องมีสิ่งต่อไปนี้

  • อุปกรณ์ที่ใช้ Android 12 ขึ้นไปซึ่งรองรับการอัปเดตระบบ Google Play (ดูเมนไลน์) ผ่านโมดูล CaptivePortalLogin เมนไลน์
  • รองรับ 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 และโฟลว์แท็บที่กำหนดเอง

  1. อัปเดตการกำหนดค่าเซิร์ฟเวอร์ DHCP ให้รวมตัวเลือก DHCP 114

    • ค่า: ระบุ URL แบบ HTTPS แบบเต็มของไฟล์ JSON ที่สร้างขึ้นแบบไดนามิก ซึ่งมีข้อมูลแคปทีฟพอร์ทัล (เช่น https://api.yourvenue.com/status)

    • ผลลัพธ์: เมื่ออุปกรณ์ Android เข้าร่วมเครือข่าย อุปกรณ์จะค้นหา API ที่ระบุแทนที่จะรอการเปลี่ยนเส้นทางของเบราว์เซอร์

  2. กำหนดค่าเซิร์ฟเวอร์ API ให้ตอบสนองต่อคำขอ HTTP GET ที่ URL ที่ระบุด้วยไฟล์ JSON ที่แจ้งสถานะปัจจุบันของพอร์ทัลให้แก่อุปกรณ์

    • ข้อกำหนด HTTPS: เซิร์ฟเวอร์ API ต้องใช้ใบรับรอง HTTPS ที่ถูกต้อง

    • การสำรองข้อมูลด้านความปลอดภัย: หากใบรับรองไม่ถูกต้องหรือลงชื่อด้วยตนเอง อุปกรณ์จะกลับไปใช้ลักษณะการทำงานของแคปทีฟพอร์ทัลเดิม

ลักษณะการทำงานของการตรวจหาแคพทีฟพอร์ทัลของ Android

Captive Portal API เป็นทางเลือกที่เชื่อถือได้แทนการตรวจสอบเครือข่าย Android มาตรฐาน สำหรับการตรวจหาการมีอยู่ของแคปทีฟพอร์ทัล โดยจะหลีกเลี่ยงความไม่สอดคล้องทั่วไป

อุปกรณ์ Android จะตรวจสอบการเข้าถึงเครือข่ายโดยส่งการตรวจสอบ HTTP และ HTTPS พร้อมกันไปยัง URL การตรวจสอบที่เฉพาะเจาะจง ความสำเร็จของการตรวจสอบที่ไม่สอดคล้องกัน (เช่น HTTP สำเร็จแต่ HTTPS ไม่สำเร็จ) จะส่งผลให้เกิดสถานะการเชื่อมต่อบางส่วน ซึ่ง อาจทำให้แอปเข้าสู่ระบบไม่แสดงโดยอัตโนมัติ

Captive Portal API ช่วยให้การตรวจจับมีความน่าเชื่อถือมากขึ้นโดยใช้ลักษณะการตรวจจับต่อไปนี้

  • หาก API รายงาน "captive": true ระบบจะทราบว่าอยู่เบื้องหลัง พอร์ทัลและข้ามการตรวจสอบมาตรฐานเพื่อแสดงอินเทอร์เฟซ การเข้าสู่ระบบทันที
  • หาก API รายงาน "captive": false ระบบจะดำเนินการตรวจสอบมาตรฐานต่อ ซึ่งต้องใช้ทั้งการตรวจสอบ HTTP และ HTTPS ให้สำเร็จก่อนจึงจะยืนยันการเข้าถึงอินเทอร์เน็ตแบบเต็มได้