การแบ่งส่วนเครือข่าย 5G

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

การแบ่งเสี้ยวอุปกรณ์ขององค์กรสำหรับอุปกรณ์ที่มีการจัดการครบวงจร

สําหรับองค์กรที่มอบอุปกรณ์ของบริษัทที่จัดการอย่างเต็มรูปแบบให้กับพนักงาน ผู้ให้บริการเครือข่ายสามารถมอบข้อมูลเครือข่ายขององค์กรที่ใช้งานอยู่อย่างน้อย 1 ข้อมูลที่จะกำหนดเส้นทางการรับส่งข้อมูลในอุปกรณ์ของบริษัท ตั้งแต่ Android 12 เป็นต้นไป Android อนุญาตให้ผู้ให้บริการเครือข่ายให้บริการข้อมูลส่วนกลางสำหรับองค์กรผ่านกฎ URSP แทนการตั้งค่าข้อมูลส่วนกลางผ่าน APN

การแยกแอปธุรกิจขององค์กรสำหรับอุปกรณ์ที่มีโปรไฟล์งาน

สำหรับองค์กรที่ใช้โซลูชันโปรไฟล์งาน Android 12 อนุญาตให้อุปกรณ์กำหนดเส้นทางการรับส่งข้อมูลจากแอปทั้งหมดในโปรไฟล์งานไปยังกลุ่มเครือข่ายขององค์กร องค์กรสามารถเปิดใช้ความสามารถนี้ผ่านเครื่องมือควบคุมนโยบายด้านอุปกรณ์ (DPC)

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

การทำงานของการสไลซ์เครือข่าย 5G ใน AOSP

Android 12 รองรับการแบ่งความถี่ของเครือข่าย 5G ผ่านการเพิ่มโค้ดฐานโทรศัพท์ใน AOSP และโมดูลการแชร์อินเทอร์เน็ตผ่านมือถือเพื่อรวม API การเชื่อมต่อที่มีอยู่ซึ่งจำเป็นสำหรับการแบ่งความถี่ของเครือข่าย

แพลตฟอร์มโทรศัพท์ของ Android มี HAL และ API การโทรเพื่อรองรับการแบ่งความถี่ตามคำขอเครือข่ายที่ส่งโดยโค้ดเครือข่ายหลักและความสามารถการแบ่งความถี่ 5G ในโมเด็ม รูปที่ 1 อธิบายองค์ประกอบของฟีเจอร์การแบ่งเครือข่าย 5G

องค์ประกอบการแบ่งส่วนเครือข่าย 5G

รูปที่ 1 สถาปัตยกรรมการแบ่งเครือข่าย 5G ใน AOSP

แพลตฟอร์มโทรศัพท์และการเชื่อมต่อรองรับสิ่งต่อไปนี้

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

    • การตรวจหาโปรไฟล์งานในอุปกรณ์
    • ตรวจสอบสิทธิ์หรือเส้นทางที่ระบุจาก DPC ที่ผู้ดูแลระบบไอทีขององค์กรใช้

บริการเครือข่ายหลักมีการเปลี่ยนแปลงต่อไปนี้ในข้อบังคับการต่อเชื่อมใน Android 12

  • เพิ่มคลาส API สาธารณะหรือระบบส่วนใหญ่ของ android.net.* ลงในโมดูลการต่อฮอตสปอตจากมือถือ
  • ขยายขอบเขตของโมดูลการต่อฮอตสปอตจากมือถือให้รวมรายการต่อไปนี้

    • f/b/core/java/android/net/…
    • f/b/services/net/…
    • f/b/services/core/java/com/android/server/connectivity/…
    • f/b/services/core/java/com/android/server/ConnectivityService.java
    • f/b/services/core/java/com/android/server/TestNetworkService.java
  • ย้ายโค้ด VPN ออกจากโมดูลการต่อฮอตสปอตจากมือถือ

Android 12 จะย้ายโค้ดที่มีความสามารถต่อไปนี้ไปยังโมดูลการต่อฮอตสปอต

  • การรับคําขอจากแอปสําหรับการเชื่อมต่อเครือข่าย
  • การรับคําขอจากระบบ (เช่น "วางแอปเหล่านี้ในข้อมูลโค้ดขององค์กร" ซึ่งเปิดตัวใน Android 12)
  • ส่งคําขอจากระบบไปยังโค้ดโทรศัพท์ซึ่งพยายามตั้งค่าเครือข่ายหรือกลุ่มย่อยโดยผ่าน HAL API และโมเด็ม
  • แจ้ง netd วิธีกำหนดเส้นทางการรับส่งข้อมูลตามแอป (เปิดตัวใน Android 12)
  • แจ้งให้แอปทราบสิ่งที่เกิดขึ้นกับการรับส่งข้อมูลเครือข่ายผ่านConnectivityManager API เช่น NetworkCallback, getActiveNetwork, getNetworkCapabilities

การใช้งาน

หากต้องการรองรับการแบ่งความถี่ 5G ในอุปกรณ์ อุปกรณ์ดังกล่าวต้องมีโมเด็มที่รองรับ HAL ของ IRadio 1.6 ซึ่งมี setupDataCall_1_6 API API นี้จะตั้งค่าการเชื่อมต่อข้อมูลและมีพารามิเตอร์ต่อไปนี้เพื่อรองรับการแบ่งความถี่ 5G

  • trafficDescriptor: ระบุตัวบ่งชี้การรับส่งข้อมูลที่ส่งไปยังโมเด็ม
  • sliceInfo: ระบุข้อมูลสำหรับส่วนของเครือข่ายที่จะใช้ในในกรณีที่มีการส่งต่อจาก EPDG ไปยัง 5G
  • matchAllRuleAllowed: ระบุว่าอนุญาตให้ใช้กฎ URSP แบบจับคู่ทั้งหมดเริ่มต้นหรือไม่ Telephony จะตั้งค่านี้เป็น "จริง" สําหรับเครือข่ายเริ่มต้น แต่จะไม่ตั้งค่าสําหรับข้อมูลส่วนต่างๆ กฎการทำงานแบบตรงทั้งหมดจะมีผลกับเครือข่ายเริ่มต้น เมื่อแอปขอข้อมูลส่วนใดส่วนหนึ่งที่ไม่พร้อมใช้งาน ระบบจะรายงานว่าข้อมูลส่วนนั้นไม่พร้อมใช้งาน สําหรับแอปขององค์กร เฟรมเวิร์กการโทรสามารถเปลี่ยนไปใช้เครือข่ายเริ่มต้นได้หากเครือข่ายขององค์กรไม่พร้อมใช้งาน

นอกจากนี้ โมเด็มยังต้องใช้ getSlicingConfig API ด้วย เว้นแต่จะมีการรายงานว่า getHalDeviceCapabilities API ไม่รองรับ

ข้อกำหนดของ Enterprise

ข้อมูลต่อไปนี้อธิบายข้อกำหนดสำหรับองค์กรในการใช้การสไลซ์เครือข่าย 5G ในอุปกรณ์ในการใช้งาน Android Enterprise

  • ตรวจสอบว่าอุปกรณ์ที่มีการจัดการครบวงจรหรืออุปกรณ์ของพนักงานที่ตั้งค่าด้วยโปรไฟล์งานรองรับ 5G SA ด้วยโมเด็มที่รองรับ setupDataCall_1_6 API
  • ทำงานร่วมกับพาร์ทเนอร์ผู้ให้บริการเกี่ยวกับการตั้งค่าและประสิทธิภาพของส่วนหรือลักษณะ SLA

เปิดใช้การแบ่งความถี่ 5G ในอุปกรณ์ที่ตั้งค่าด้วยโปรไฟล์งาน

สำหรับอุปกรณ์ที่ตั้งค่าด้วยโปรไฟล์งาน การแบ่งเครือข่าย 5G จะปิดอยู่โดยค่าเริ่มต้นใน AOSP หากต้องการเปิดใช้การแบ่งเครือข่าย ผู้ดูแลระบบไอทีขององค์กรสามารถเปิดหรือปิดการกำหนดเส้นทางการเข้าชมแอปในโปรไฟล์งานไปยังส่วนของเครือข่ายขององค์กรตามพนักงานแต่ละคนผ่าน DPC ของ EMM ซึ่งใช้วิธีการ setPreferentialNetworkServiceEnabled ใน DevicePolicyManager (DPM) API (เปิดตัวใน Android 12)

ผู้ให้บริการ EMM ที่มี DPC ที่กำหนดเองต้องผสานรวม DevicePolicyManager API เพื่อรองรับไคลเอ็นต์องค์กร

กฎ URSP

ส่วนนี้ประกอบด้วยข้อมูลสำหรับผู้ให้บริการเกี่ยวกับการกำหนดค่ากฎ URSP สำหรับหมวดหมู่สไลซ์ต่างๆ ซึ่งรวมถึงองค์กร, CBS, เวลาในการตอบสนองต่ำ และการจราจรที่มีแบนด์วิดท์สูง เมื่อกำหนดค่ากฎ URSP สำหรับหมวดหมู่ข้อมูลส่วนต่างๆ ผู้ให้บริการต้องใช้ค่าเฉพาะ Android ต่อไปนี้

รหัส ค่า คำอธิบาย
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 OSId สำหรับ Android คือ UUID เวอร์ชัน 5 ที่สร้างขึ้นโดยใช้เนมสเปซ ISO OID และชื่อ "Android"

ผู้ให้บริการต้องกำหนดค่ากฎ URSP สําหรับการเข้าชมแต่ละส่วนด้วยคอมโพเนนต์ตัวระบุการเข้าชมเป็น "ประเภทรหัสระบบปฏิบัติการ + รหัสแอประบบปฏิบัติการ" เช่น ส่วนของ "ENTERPRISE" ต้องมีค่าเป็น 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 ค่านี้เป็นการเชื่อมต่อ OSId, ความยาวของ OSAppId (0x0A) และ OSAppId ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทคอมโพเนนต์ตัวระบุการจราจรได้ที่ 3GPP TS 24.526 ตาราง 5.2.1

ตารางต่อไปนี้อธิบายค่า OSAppId สําหรับหมวดหมู่ส่วนต่างๆ

หมวดหมู่ข้อมูลพร็อพเพอร์ตี้ OSAppId คำอธิบาย
องค์กร 0x454E5445525052495345 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "ENTERPRISE"
ENTERPRISE2 0x454E544552505249534532 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "ENTERPRISE2"
ENTERPRISE3 0x454E544552505249534533 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "ENTERPRISE3"
ENTERPRISE4 0x454E544552505249534534 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "ENTERPRISE4"
ENTERPRISE5 0x454E544552505249534535 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "ENTERPRISE5"
CBS 0x434253 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "CBS"
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "PRIORITIZE_LATENCY"
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "PRIORITIZE_BANDWIDTH"

ตัวอย่างกฎ URSP

ตารางต่อไปนี้แสดงตัวอย่างกฎ URSP สำหรับองค์กร, CBS, เวลาในการตอบสนองต่ำ, แบนด์วิดท์สูง และการรับส่งข้อมูลเริ่มต้น

Enterprise 1

การรองรับ Enterprise 1 พร้อมใช้งานใน Android 12 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม ENTERPRISE1 มีดังนี้

กฎ URSP #1 (enterprise1)
ลําดับความสําคัญ 1 (0x01)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN องค์กร
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร

Enterprise 2

การรองรับ Enterprise 2 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม ENTERPRISE2 มีดังนี้

กฎ URSP #2 (enterprise2)
ลําดับความสําคัญ 2 (0x02)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN enterprise2
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise2

Enterprise 3

การรองรับ Enterprise 3 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม ENTERPRISE3 มีดังนี้

กฎ URSP #3 (enterprise3)
ลําดับความสําคัญ 3 (0x03)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN enterprise3
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise3

Enterprise 4

การรองรับ Enterprise 4 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม ENTERPRISE4 มีดังนี้

กฎ URSP #4 (enterprise4)
ลําดับความสําคัญ 4 (0x04)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN enterprise4
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise4

Enterprise 5

การรองรับ Enterprise 5 พร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม ENTERPRISE5 มีดังนี้

กฎ URSP #5 (enterprise5)
ลําดับความสําคัญ 5 (0x05)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN enterprise5
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN enterprise5

CBS

การรองรับ CBS พร้อมใช้งานใน Android 13 ขึ้นไป ต่อไปนี้เป็นตัวอย่างกฎ URSP สําหรับการเข้าชม CBS

กฎ URSP ฉบับที่ 6 (CBS)
ลําดับความสําคัญ 6 (0x06)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E4703434253
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN cbs
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN cbs

เวลาในการตอบสนองต่ำ

การรองรับเวลาในการตอบสนองต่ำพร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม LOW_LATENCY มีดังนี้

กฎ URSP ฉบับที่ 7 (เวลาในการตอบสนองต่ำ)
ลําดับความสําคัญ 7 (0x07)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN เวลาในการตอบสนอง
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN เวลาในการตอบสนอง

แบนด์วิดท์สูง

การรองรับแบนด์วิดท์สูงพร้อมใช้งานใน Android 13 ขึ้นไป ตัวอย่างกฎ URSP สําหรับการเข้าชม HIGH_BANDWIDTH มีดังนี้

กฎ URSP #8 (แบนด์วิดท์สูง)
ลําดับความสําคัญ 8 (0x08)
ข้อบ่งชี้การเข้าชม #1
รหัสระบบปฏิบัติการ + ประเภทรหัสแอประบบปฏิบัติการ 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY
คอมโพเนนต์ #2: DNN แบนด์วิดท์
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN แบนด์วิดท์

ค่าเริ่มต้น

กฎ URSP หมายเลข 9 (ค่าเริ่มต้น)
ลําดับความสําคัญ 9 (0x09)
ข้อบ่งชี้การเข้าชม #1
match-all ไม่มี
ข้อบ่งชี้การเลือกเส้นทาง #1
ลําดับความสําคัญ 1 (0x01)
คอมโพเนนต์ #1: S-NSSAI SST:XX SD:YYYYYY

การทดสอบ

หากต้องการทดสอบการแบ่งเครือข่าย 5G ให้ใช้การทดสอบด้วยตนเองต่อไปนี้

วิธีตั้งค่าอุปกรณ์เพื่อทดสอบ

  1. ตรวจสอบว่านโยบาย URSP ได้รับการกําหนดค่าด้วยกฎที่ไม่ใช่ค่าเริ่มต้นซึ่งตรงกับหมวดหมู่องค์กร และตัวบ่งชี้การเลือกเส้นทางที่เกี่ยวข้องแมปหมวดหมู่องค์กรกับกลุ่มย่อยขององค์กร และกฎเริ่มต้นที่กําหนดเส้นทางการรับส่งข้อมูลไปยังกลุ่มย่อยของอินเทอร์เน็ตเริ่มต้น

  2. ตรวจสอบว่าได้กำหนดค่าโปรไฟล์งานในอุปกรณ์แล้ว

  3. เลือกใช้การแบ่งเครือข่ายผ่าน DPC

หากต้องการทดสอบลักษณะการแบ่งเครือข่าย 5G ให้ทำดังนี้

  1. ยืนยันว่าเซสชัน PDU สร้างขึ้นด้วยข้อมูลส่วนของบริษัท (เช่น โดยใช้ที่อยู่ IP ที่เฉพาะเจาะจง) และแอปในโปรไฟล์งานใช้เซสชัน PDU นั้น
  2. ยืนยันว่ามีการสร้างเซสชัน PDU แยกต่างหากด้วยอินเทอร์เน็ตสไลซ์เริ่มต้น และแอปในโปรไฟล์ส่วนตัวใช้เซสชัน PDU

การอัปเขายการแบ่งความถี่ 5G

ฟีเจอร์การอัปเขายการแยกส่วน 5G ซึ่งพร้อมให้บริการใน Android 14-QPR1 จะช่วยให้ผู้ให้บริการเสนอความสามารถของเครือข่ายที่ปรับปรุงแล้ว (เวลาในการตอบสนองและแบนด์วิดท์) ให้แก่ผู้ใช้ผ่านการแยกส่วนเครือข่าย 5G

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

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

ฟีเจอร์การอัปเกรด 5G แบบแบ่งความถี่มีอินเทอร์เฟซที่เรียกว่า DataBoostWebServiceFlow ซึ่งช่วยให้ Android สื่อสารกับ WebView ของผู้ให้บริการได้

รูปที่ 2 แสดงขั้นตอนการขายอัปเซลการแบ่งความถี่ 5G

ขั้นตอนการซื้อการแบ่งความถี่ 5G เพื่ออัปเซล

รูปที่ 2 ขั้นตอนการซื้อการแบ่งความถี่ 5G เพื่อเพิ่มยอดขาย

กระบวนการให้สิทธิ์ TS.43

เมื่อผู้ใช้ส่งคำขอความสามารถของเครือข่ายที่ปรับปรุงแล้ว เฟรมเวิร์กโทรศัพท์จะขอการกําหนดค่าการให้สิทธิ์บริการสําหรับความสามารถระดับพรีเมียมที่ขอ หากการตอบกลับ TS.43 ถูกต้อง เฟรมเวิร์กโทรศัพท์จะใช้ฟิลด์จากการตอบกลับ HTTP เพื่อส่งคำขอซื้อ

ฟิลด์การซื้อตามกลุ่ม

การกําหนดค่าการให้สิทธิ์ TS.43 ประกอบด้วยช่องการซื้อส่วนต่อไปนี้

สถานะการให้สิทธิ์

แป้น: EntitlementStatus

ประเภท: int

ค่าที่รองรับ: 0 (ปิดใช้), 1 (เปิดใช้), 2 (ใช้ร่วมกันไม่ได้), 3 (การจัดสรร), 4 (รวมอยู่ด้วย)

สถานะการจัดสรร

แป้น: ProvStatus

ประเภท: int

ค่าที่รองรับ: 0 (ไม่ได้จัดสรร), 1 (จัดสรรแล้ว), 2 (ไม่พร้อมใช้งาน), 3 (อยู่ระหว่างดำเนินการ)

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

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

สถานะการจัดสรร
ไม่ได้จัดสรร (0) จัดสรรแล้ว (1) ไม่พร้อมใช้งาน (2) อยู่ระหว่างดำเนินการ (3)
สถานะการให้สิทธิ์ ปิดใช้ (0) ไม่สำเร็จ ไม่สำเร็จ ไม่สำเร็จ ไม่สำเร็จ
เปิดใช้ (1) แสดง WebView ซื้อแล้ว ซื้อแล้ว กำลังดำเนินการ
ใช้ร่วมกันไม่ได้ (2) ไม่สำเร็จ ไม่สำเร็จ ไม่สำเร็จ ไม่สำเร็จ
การจัดสรร (3) ข้อผิดพลาดของผู้ให้บริการ ข้อผิดพลาดของผู้ให้บริการ กำลังดำเนินการ กำลังดำเนินการ
รวมอยู่ (4) ข้อผิดพลาดของผู้ให้บริการ ซื้อแล้ว ซื้อแล้ว ข้อผิดพลาดของผู้ให้บริการ

ช่องขั้นตอนบริการ

การตอบกลับ TS.43 จะระบุ URL, ข้อมูลผู้ใช้ และประเภทเนื้อหาเพื่อปรับแต่งลักษณะการทำงานของ WebView การซื้อของผู้ให้บริการ หากไม่ได้ระบุประเภทเนื้อหา ระบบจะโหลด URL เป็นคำขอ GET หากมีข้อมูลผู้ใช้ ระบบจะเพิ่มข้อมูลนั้นต่อท้าย URL ในรูปแบบพารามิเตอร์การค้นหา (เช่น https://www.android.com?encodedValue=Base64EncodedUserData) และหากไม่มีข้อมูลผู้ใช้ ระบบจะใช้ URL นั้นตามที่เป็นอยู่ (เช่น https://www.android.com)
หากระบุประเภทเนื้อหาในรูปแบบ JSON หรือ XML ระบบจะโหลด URL เป็นคำขอ POST และส่งข้อมูลผู้ใช้ (ถอดรหัสหากมีการเข้ารหัส Base 64) เป็นข้อมูลสำหรับคำขอ POST

URL

แป้น: ServiceFlow_URL

ประเภท: String

ตัวอย่าง: "https://www.android.com"

ข้อมูลผู้ใช้

แป้น: ServiceFlow_UserData

ประเภท: String

ตัวอย่าง: "encodedValue=Base64EncodedUserData"

ประเภทเนื้อหา

แป้น: ServiceFlow_ContentsType

ประเภท: String

ค่าที่รองรับ: 0 (ไม่ระบุ), 1 (JSON), 2 (XML)

การกำหนดค่าผู้ให้บริการ

ต่อไปนี้เป็นการกำหนดค่าของผู้ให้บริการที่พร้อมให้ปรับแต่งลักษณะการทำงานของฟีเจอร์การอัปเขายการแบ่งความถี่ 5G

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

รายการความสามารถของ Premium ที่รองรับ นี่คืออาร์เรย์ int ของ TelephonyManager.PremiumCapability ความสามารถแบบพรีเมียมเหล่านี้มีค่าเดียวกับคลาส NetworkCapabilities.NetCapability ที่เกี่ยวข้อง หากมีการขอความสามารถระดับพรีเมียม แต่ความสามารถดังกล่าวไม่รวมอยู่ในการกำหนดค่านี้ คำขอซื้อจะดำเนินการไม่สำเร็จพร้อมผลลัพธ์ CARRIER_DISABLED

ใน Android 14 ระบบจะรองรับเฉพาะ PREMIUM_CAPABILITY_PRIORITIZE_LATENCY เท่านั้น

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

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

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

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

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

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

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

อนุญาตให้ซื้อความสามารถระดับพรีเมียมได้หรือไม่เมื่ออุปกรณ์เชื่อมต่อกับ Long-Term Evolution (LTE) หากเป็น true คุณจะส่งคำขอซื้อได้ทั้งใน LTE และ New Radio (NR) หากเป็นfalse คุณจะส่งคำขอซื้อได้บน NR เท่านั้น และคำขอที่ส่งใน LTE จะดำเนินการไม่สำเร็จPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

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

อินเทอร์เฟซ JavaScript

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

เว็บไซต์ของผู้ให้บริการสามารถรับความสามารถระดับพรีเมียมที่ขอผ่านวิธีการ getRequestedCapability()

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

หากการซื้อไม่สำเร็จ เว็บไซต์ของผู้ให้บริการต้องแจ้งแอปการซื้อข้อมูลผ่านเมธอด notifyPurchaseFailed(code, reason) โดยที่ code คือรหัสข้อผิดพลาดที่ระบุสาเหตุของข้อผิดพลาด และ reason คือสาเหตุของข้อผิดพลาดที่มนุษย์อ่านได้หากไม่ทราบรหัสข้อผิดพลาด

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

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

เมื่อการซื้อเสร็จสมบูรณ์แล้ว ผู้ให้บริการต้องอัปเดตกฎ URSP ด้วยข้อมูลส่วน PRIORITIZE_LATENCY ไปยังอุปกรณ์ของผู้ใช้