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

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

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

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

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

การใช้งาน

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

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

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

ข้อกำหนดสำหรับองค์กร

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

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

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

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

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

กฎ URSP

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

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

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

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

หมวดหมู่ส่วนแบ่ง รหัสแอประบบปฏิบัติการ คำอธิบาย
องค์กร 0x454E5445525052495345 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "ENTERPRISE"
Enterprise 2 0x454E544552505249534532 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "ENTERPRISE2"
องค์กร 3 0x454E544552505249534533 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "ENTERPRISE3"
Enterprise4 0x454E544552505249534534 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "ENTERPRISE4"
สำหรับองค์กร5 0x454E544552505249534535 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "ENTERPRISE5"
CBS 0x434253 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "CBS"
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "PRIORITIZE_LATENCY"
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId คือการแสดงอาร์เรย์แบบไบต์ของสตริง "PRIORITIZE_BANDWIDTH"

ตัวอย่างกฎ URSP

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

องค์กร 1

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

กฎ URSP #1 (องค์กร 1)
ลำดับความสำคัญ 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 องค์กร2
ข้อบ่งชี้การเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร2

องค์กร 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 องค์กร3
ข้อบ่งชี้การเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร3

องค์กร 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 องค์กร 4
ข้อบ่งชี้การเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร 4

องค์กร 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 องค์กร5
ข้อบ่งชี้การเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN องค์กร5

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 ลูกบาศก์
ข้อบ่งชี้การเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
คอมโพเนนต์ #1: DNN ลูกบาศก์

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

การรองรับเวลาในการตอบสนองต่ำพร้อมให้บริการใน 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
ตรงทั้งหมด ไม่มี
ข้อบ่งชี้การเลือกเส้นทาง #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 (กำลังดำเนินการ)

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

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

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

ช่องโฟลว์บริการ

การตอบกลับ TS.43 จะระบุ URL, ข้อมูลผู้ใช้ และประเภทเนื้อหาที่จะปรับแต่ง พฤติกรรมการดูเว็บของการซื้อโดยผู้ให้บริการ หากไม่ได้ระบุประเภทเนื้อหา 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

จะอนุญาตให้ซื้อความสามารถระดับพรีเมียมขณะที่อุปกรณ์ เชื่อมต่อกับ "วิวัฒนาการในระยะยาว" (LTE) หากเป็น true คุณจะส่งคำขอซื้อได้ ทั้งบน LTE และวิทยุใหม่ (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 ได้ ที่ระบุไว้ใน DataBoostWebServiceFlow อินเทอร์เฟซ JavaScript ในเว็บไซต์การซื้อเพื่อสื่อสารกับ Slice ซื้อแอป

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

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

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

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

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

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