การรองรับ 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 นี้ได้หากเลือกที่จะทำจากการแจ้งเตือนหลังจากเข้าสู่ระบบ หรือจากการตั้งค่าเครือข่าย
รูปที่ 1 หากเครือข่ายระบุ URL ของสถานที่ ระบบจะแสดงข้อความแจ้ง
เพื่อให้ผู้ใช้เข้าชมหน้านั้นได้
รูปที่ 2 ปุ่มสำหรับเปิดเว็บไซต์จากหน้าจอรายละเอียดเครือข่าย
กรณีการใช้งานในอนาคต
แม้ว่าในตอนเปิดตัว Android 11 จะรองรับฟังก์ชันพื้นฐานจาก Captive Portal API เท่านั้น แต่ฟังก์ชันใหม่ๆ อาจได้รับการส่งไปยังอุปกรณ์ผ่านการอัปเดตระบบ Google Play หลังการเปิดตัว เราขอแนะนำให้ผู้ให้บริการเครือข่าย
ใช้ Captive Portal API โดยคำนึงถึงการปรับปรุงที่อาจเกิดขึ้นในอนาคต
- ปัจจุบันระบบใช้เวลาเซสชัน (
seconds-remaining
) ในแอปการตั้งค่าเริ่มต้น
เพื่อแจ้งให้ผู้ใช้ทราบว่าเหลือเวลาเท่าใดในพอร์ทัล
ความสามารถในการขยายเซสชันผ่าน URL การเข้าสู่ระบบ (can-extend-session
) สามารถแสดงผ่าน API เพื่ออนุญาตให้ระบบแจ้งเตือนผู้ใช้เกี่ยวกับเซสชันที่หมดอายุหรือกำลังจะหมดอายุได้ด้วย
- โควต้าการใช้งานข้อมูล (
bytes-remaining
) สามารถโฆษณาผ่าน API เพื่อให้ผู้ใช้
ติดตามข้อมูลที่เหลือได้
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-08-27 UTC"],[],[],null,["Starting in Android 11 Beta 2, the system supports a subset of\nfunctionality described by\n[RFC7710bis](https://tools.ietf.org/html/draft-ietf-capport-rfc7710bis)\nand the associated [captive portal\nAPI](https://tools.ietf.org/html/draft-ietf-capport-api).\n\nThe API provides a reliable way for access points to identify themselves as\ncaptive portals. It also enables new use-cases for access points to publish\ninformation to their users, such as session and venue information.\n\nImproved captive portal detection\n\nSince Android 5.0 (API level 21), Android devices have detected captive portals\nand notified the user that they need to sign in to the network to access the\ninternet. Captive portals were detected using cleartext HTTP probes to known\ndestinations (such as `connectivitycheck.gstatic.com`), and if the probe\nreceived an HTTP redirect, the device assumed that the network was a captive\nportal. This technique can be unreliable because there is no standard URL to\nprobe, and such probes could be mistakenly allowed or blocked (instead of\nredirected) by captive portal networks. The API allows portals to provide a\npositive signal that login is required, along with a URL to log in to.\n\nAndroid 11 supports DHCP option 114 as described in RFC7710bis.\nWe may add support for the router advertisement option in a future update. If\nthe device gets a captive portal API URL through that option during the DHCP\nhandshake, devices fetch the API contents immediately after connecting and\nprompt users to log in if the network is captive, as per the captive portal API.\n\nIf the API is not available, or if no portal is advertised, the system will\ncontinue to detect portals and verify internet connectivity using HTTP/HTTPS\nprobes, as before.\n\nVenue-published information\n\nAndroid 11 supports the `venue-info-url` defined in the captive\nportal API. This URL allows users to obtain context-specific information about\nthe access point venue in their browser. By default, users can open this URL if\nthey choose to do so from a notification after logging in, or from their network\nsettings.\n\n\u003cbr /\u003e\n\n\n**Figure 1.** If the network provides a venue URL, the system pops up a notice\nallowing the user to visit that page\n\n\u003cbr /\u003e\n\n\n**Figure 2.** Button to open the site from the Network details screen\n\nFuture use cases\n\nWhile at launch Android 11 supports only a basic set of\nfunctionality from the captive portal API, new functionality may be delivered to\ndevices via Google Play system updates after launch. We encourage network\noperators to implement the captive portal API while keeping future possible\nimprovements in mind:\n\n- Session time (`seconds-remaining`) is currently used in the default **Settings** app to inform users on how much time is left on the portal. The ability to extend the session via the login URL (`can-extend-session`) can also be expressed through the API to allow the system to notify the user about expired or soon-to-expire sessions.\n- Data caps (`bytes-remaining`) can be advertised through the API to allow users to keep track of remaining data."]]