การรองรับ API ของแคพทีฟพอร์ทัล

ตั้งแต่ Android 11 Beta 2 เป็นต้นไป ระบบจะรองรับฟังก์ชันการทำงานบางส่วนที่อธิบายไว้ใน RFC7710bis และ API ของแคปทีฟพอร์ทัลที่เกี่ยวข้อง

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

ปรับปรุงการตรวจหาแคปทีฟพอร์ทัล

ตั้งแต่ Android 5.0 (API ระดับ 21) เป็นต้นมา อุปกรณ์ Android จะตรวจหาแคปทีฟพอร์ทัล และแจ้งให้ผู้ใช้ทราบว่าต้องลงชื่อเข้าใช้เครือข่ายเพื่อเข้าถึง อินเทอร์เน็ต ระบบตรวจพบแคพทีฟพอร์ทัลโดยใช้การตรวจสอบ HTTP แบบข้อความธรรมดาไปยังปลายทางที่รู้จัก (เช่น connectivitycheck.gstatic.com) และหากการตรวจสอบได้รับการเปลี่ยนเส้นทาง HTTP อุปกรณ์จะถือว่าเครือข่ายเป็นแคพทีฟพอร์ทัล เทคนิคนี้อาจไม่น่าเชื่อถือเนื่องจากไม่มี URL มาตรฐานสำหรับตรวจสอบ และเครือข่ายแคปทีฟพอร์ทัลอาจอนุญาตหรือบล็อกการตรวจสอบดังกล่าวโดยไม่ได้ตั้งใจ (แทนที่จะเปลี่ยนเส้นทาง) API ช่วยให้พอร์ทัลระบุ สัญญาณเชิงบวกที่ระบุว่าต้องมีการเข้าสู่ระบบ พร้อมกับ URL สำหรับเข้าสู่ระบบ

Android 11 รองรับตัวเลือก DHCP 114 ตามที่อธิบายไว้ใน RFC7710bis เราอาจเพิ่มการรองรับตัวเลือกการโฆษณาเราเตอร์ในการอัปเดตในอนาคต หาก อุปกรณ์ได้รับ URL ของ Captive Portal API ผ่านตัวเลือกดังกล่าวระหว่างการแฮนด์เชค DHCP อุปกรณ์จะดึงเนื้อหา API ทันทีหลังจากเชื่อมต่อและ แจ้งให้ผู้ใช้เข้าสู่ระบบหากเครือข่ายเป็นแบบ Captive ตาม Captive Portal API

หาก API ไม่พร้อมใช้งานหรือไม่มีการโฆษณาพอร์ทัล ระบบจะ ตรวจหาพอร์ทัลและยืนยันการเชื่อมต่ออินเทอร์เน็ตโดยใช้โพรบ HTTP/HTTPS ต่อไปเช่นเดิม

ข้อมูลที่เผยแพร่โดยสถานที่จัดงาน

Android 11 รองรับ venue-info-url ที่กำหนดไว้ใน API ของแคปทีฟ พอร์ทัล URL นี้ช่วยให้ผู้ใช้ได้รับข้อมูลที่เจาะจงตามบริบทเกี่ยวกับ สถานที่ตั้งของจุดเข้าถึงในเบราว์เซอร์ โดยค่าเริ่มต้น ผู้ใช้จะเปิด URL นี้ได้หากเลือกที่จะทำจากการแจ้งเตือนหลังจากเข้าสู่ระบบ หรือจากการตั้งค่าเครือข่าย

ภาพหน้าจอแสดงป๊อปอัปที่อนุญาตให้ผู้ใช้ไปที่ URL ของสถานที่
รูปที่ 1 หากเครือข่ายระบุ URL ของสถานที่ ระบบจะแสดงประกาศ ที่อนุญาตให้ผู้ใช้เข้าชมหน้านั้น

ภาพหน้าจอแสดงวิธีเปิดเว็บไซต์จากหน้าจอรายละเอียดเครือข่าย
รูปที่ 2 ปุ่มสำหรับเปิดเว็บไซต์จากหน้าจอรายละเอียดเครือข่าย

กรณีการใช้งานในอนาคต

แม้ว่าในตอนเปิดตัว Android 11 จะรองรับฟังก์ชันพื้นฐานจาก Captive Portal API เท่านั้น แต่ฟังก์ชันใหม่ๆ อาจได้รับการส่งไปยังอุปกรณ์ผ่านการอัปเดตระบบ Google Play หลังการเปิดตัว เราขอแนะนำให้ผู้ให้บริการเครือข่าย ใช้ Captive Portal API โดยคำนึงถึงการปรับปรุงที่อาจเกิดขึ้นในอนาคตดังนี้

  • ปัจจุบันระบบใช้เวลาเซสชัน (seconds-remaining) ในแอปการตั้งค่าเริ่มต้น เพื่อแจ้งให้ผู้ใช้ทราบว่าเหลือเวลาเท่าใดในพอร์ทัล ความสามารถในการขยายเซสชันผ่าน URL การเข้าสู่ระบบ (can-extend-session) สามารถแสดงผ่าน API เพื่ออนุญาตให้ระบบแจ้งเตือนผู้ใช้เกี่ยวกับเซสชันที่หมดอายุหรือกำลังจะหมดอายุได้ด้วย
  • โควต้าข้อมูล (bytes-remaining) สามารถโฆษณาผ่าน API เพื่อให้ผู้ใช้ติดตามข้อมูลที่เหลือได้