แท็บที่กำหนดเองของ Android มอบประสบการณ์การใช้งานเบราว์เซอร์ที่ปลอดภัย ราบรื่น และมีฟีเจอร์ครบถ้วน ภายในขั้นตอนการเข้าสู่ระบบเครือข่ายสำหรับแคปทีฟพอร์ทัลโดยตรง เช่น แคปทีฟพอร์ทัลที่พบในสนามบิน โรงแรม และเครื่องบิน การผสานรวมเบราว์เซอร์หลักของผู้ใช้เข้ากับกระบวนการตรวจสอบสิทธิ์จะช่วยให้แท็บที่กำหนดเองมีฟังก์ชันขั้นสูง ซึ่งรวมถึงการป้อนข้อมูลอัตโนมัติด้วยการแตะเพียงครั้งเดียวสำหรับข้อมูลเข้าสู่ระบบและการชำระเงิน การสตรีมที่ได้รับการปกป้องด้วย DRM และการเชื่อมต่อที่สอดคล้องกันสำหรับผู้ใช้ที่มีฟีเจอร์ความปลอดภัย เช่น VPN และ DNS ส่วนตัว ดูข้อมูลเพิ่มเติมเกี่ยวกับแท็บที่กำหนดเองได้ที่ ภาพรวมของแท็บที่กำหนดเองของ Android
ข้อดีเหนือ WebView เดิม
การผสานรวมเบราว์เซอร์หลักของผู้ใช้โดยใช้แท็บที่กำหนดเองจะช่วยแก้ปัญหาข้อจำกัดด้านฟังก์ชันการทำงานหลายประการที่อยู่ในโฟลว์การตรวจสอบสิทธิ์ที่อิงตาม WebView เวอร์ชันเดิมสำหรับผู้ให้บริการเครือข่าย
- ธุรกรรมที่มีประสิทธิภาพ: อินเทอร์เฟซรองรับการป้อนข้อความอัตโนมัติแบบแตะครั้งเดียวสำหรับ ข้อมูลเข้าสู่ระบบและข้อมูลการชำระเงินที่จัดเก็บไว้ ซึ่งช่วยลดการป้อนข้อมูลด้วยตนเอง ในระหว่างกระบวนการเข้าสู่ระบบ (ดูรูปที่ 1)
- ความเข้ากันได้ของสื่อ: แพลตฟอร์มรองรับเนื้อหาที่ป้องกันด้วย DRM (เช่น Widevine) ซึ่งช่วยให้เล่นสตรีมวิดีโอที่เข้ารหัสได้โดยตรงภายในพอร์ทัล (ดูรูปที่ 2)
- รองรับการกำหนดค่าความปลอดภัย: แท็บที่กำหนดเองจะยังคงฟังก์ชันพอร์ทัลสำหรับอุปกรณ์ที่ใช้ VPN หรือ DNS ส่วนตัว ซึ่งเป็นฟีเจอร์ด้านความปลอดภัยที่มักทำให้การเปลี่ยนเส้นทางของเบราว์เซอร์มาตรฐานล้มเหลว
- ความสอดคล้องของอินเทอร์เฟซ: แท็บที่กำหนดเองผสานรวมกับเบราว์เซอร์ของระบบโดยตรง ซึ่งมีเครื่องมือที่ใช้งานได้และองค์ประกอบ UI เดียวกันกับที่มีในเซสชันเบราว์เซอร์เต็มรูปแบบ
- การทำงานในเบื้องหลังอย่างต่อเนื่อง: พอร์ทัลจะยังคงทำงานในเบื้องหลัง โดยทำหน้าที่เป็นจุดเข้าใช้งานที่ต่อเนื่องตลอดระยะเวลาการเชื่อมต่อ
รูปที่ 1 การป้อนข้อมูลด้วยตนเอง (WebView) เทียบกับการป้อนข้อความอัตโนมัติ (แท็บที่กำหนดเอง)
รูปที่ 2 ไม่มีวิดีโอ (WebView) เทียบกับการเล่นวิดีโอ (แท็บที่กำหนดเอง)
โฟลว์การค้นพบและการเชื่อมต่อแท็บที่กำหนดเอง
แม้ว่าแท็บที่กำหนดเองจะให้อินเทอร์เฟซ แต่ Captive Portal API จะจัดการโฟลว์ความอัจฉริยะของการค้นพบไปจนถึงการเชื่อมต่อ ดังนี้
- การค้นหา: เครือข่ายจะโฆษณาการรองรับ API โดยใช้ตัวเลือก DHCP 114
- การโต้ตอบ: อุปกรณ์ Android จะส่งคำค้นหาไปยังปลายทาง API เพื่อดึงข้อมูลเพย์โหลด JSON ที่มีสถานะเครือข่าย
- การเชื่อมต่อ: หากการตอบกลับ 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 (ดูเมนไลน์) ผ่านโมดูล
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 เข้าร่วมเครือข่าย อุปกรณ์จะค้นหา API ที่ระบุแทนที่จะรอการเปลี่ยนเส้นทางของเบราว์เซอร์
กำหนดค่าเซิร์ฟเวอร์ 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 ให้สำเร็จก่อนจึงจะยืนยันการเข้าถึงอินเทอร์เน็ตแบบเต็มได้
ความคิดเห็น
หากต้องการแสดงความคิดเห็น โปรดส่งอีเมลถึงเราที่ android-cct@google.com เรามีอิสระในการใช้ความคิดเห็นของคุณเพื่อสร้างและปรับปรุงผลิตภัณฑ์และฟีเจอร์ของเราเพื่อประโยชน์ของทุกคน