การแบ่งส่วนเครือข่าย 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 มี API สำหรับโทรศัพท์และ 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 แบบจับคู่ทั้งหมดตามค่าเริ่มต้นหรือไม่ "โทรศัพท์" ตั้งค่านี้เป็น "จริง" สำหรับเครือข่ายเริ่มต้น แต่ไม่ใช่สำหรับส่วนย่อย ระบบจะใช้กฎการทำงานแบบตรงทั้งหมดกับเครือข่ายเริ่มต้น เมื่อแอปขอส่วนแบ่งที่เจาะจงซึ่งไม่พร้อมใช้งาน ระบบจะรายงานว่าสไลซ์ดังกล่าวไม่พร้อมใช้งาน สำหรับแอปขององค์กร เฟรมเวิร์กโทรศัพท์อาจกลับไปใช้เครือข่ายเริ่มต้นได้หากเครือข่ายขององค์กรไม่พร้อมใช้งาน

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

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

หมวดหมู่ข้อมูลพร็อพเพอร์ตี้ OSAppId คำอธิบาย
องค์กร 0x454E5445525052495345 OSAppId คืออาร์เรย์ไบต์ที่แสดงสตริง "ENTERPRISE"
Enterprise 2 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 Enterprise
ข้อบ่งชี้การเลือกเส้นทาง #2
ลําดับความสําคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร

Enterprise 2

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

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

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 สำหรับ WebView การซื้อของผู้ให้บริการ ส่งข้อมูลเพิ่มเติมไปยัง WebView และระบุว่าส่วนแบ่งนี้ได้รับการจัดสรรและพร้อมให้ใช้งานในเครือข่ายผู้ให้บริการหรือไม่

ผู้ให้บริการสามารถปรับแต่งลักษณะการทำงานของฟีเจอร์การอัปเกรด 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 (ไม่ได้จัดสรร) เฟรมเวิร์กโทรศัพท์จะแสดงการแจ้งเตือนการขายอัปเซลให้ผู้ใช้ซื้อการเพิ่มระดับผ่าน WebView ของผู้ให้บริการ ตารางต่อไปนี้อธิบายลักษณะการทํางานของเฟรมเวิร์กการโทรสําหรับชุดค่าผสมต่างๆ ของค่าสถานะการจัดสรรและการให้สิทธิ์

สถานะการจัดสรร
ไม่ได้จัดสรร (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

รายการความสามารถระดับพรีเมียมที่รองรับ นี่คืออาร์เรย์ 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 การซื้อของผู้ให้บริการระบุว่ามีข้อผิดพลาด ตัวจับเวลา Backoff นี้จะเริ่มทำงาน ขณะที่ตัวจับเวลานี้ทำงานอยู่ คำขอซื้อจะล้มเหลวโดยมีผลลัพธ์ 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 เป็นพารามิเตอร์ที่ไม่บังคับซึ่งระบุระยะเวลาที่ต้องการของส่วน

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

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

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

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