สำหรับอุปกรณ์ที่ใช้ 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 ของคุณลักษณะการแบ่งเครือข่าย
รูปที่ 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 เป็น 5GmatchAllRuleAllowed
: ระบุว่าจะใช้ 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 ให้ใช้การทดสอบด้วยตนเองต่อไปนี้
หากต้องการตั้งค่าอุปกรณ์สำหรับการทดสอบ ให้ทำดังนี้
ตรวจสอบว่าได้กำหนดค่านโยบาย URSP ด้วยกฎที่ไม่ใช่ค่าเริ่มต้นที่ ตรงกับหมวดหมู่ขององค์กรและการเลือกเส้นทางที่เกี่ยวข้อง ข้อบ่งชี้จะแมปหมวดหมู่องค์กรกับส่วนแบ่งขององค์กร และ กฎเริ่มต้นที่นำการรับส่งข้อมูลไปยังส่วนแบ่งอินเทอร์เน็ตเริ่มต้น
ตรวจสอบว่าได้กำหนดค่าโปรไฟล์งานในอุปกรณ์แล้ว
เลือกใช้การแบ่งเครือข่ายผ่าน DPC
หากต้องการทดสอบลักษณะการทำงานของการแบ่งส่วนเครือข่าย 5G ให้ทำดังนี้
- ตรวจสอบว่าเซสชัน PDU สร้างขึ้นด้วยส่วนแบ่งระดับองค์กร (สำหรับ เช่น โดยใช้ที่อยู่ IP ที่เจาะจง) และแอปในโปรไฟล์งานใช้ เซสชัน PDU ดังกล่าว
- ยืนยันว่ามีการสร้างเซสชัน PDU แยกต่างหากด้วยอินเทอร์เน็ตเริ่มต้น และแอปในโปรไฟล์ส่วนตัวจะใช้เซสชัน PDU
การขายอัปเซลสําหรับ 5G
ฟีเจอร์การขายอัปเซล 5G พร้อมให้บริการที่ Android 14-QPR1 ช่วยให้ผู้ให้บริการเสนอเครือข่ายที่มีประสิทธิภาพมากขึ้นได้ (เวลาในการตอบสนองและแบนด์วิดท์) ของผู้ใช้ผ่านการแบ่งส่วนเครือข่าย 5G
ฟีเจอร์การขายอัปเซล 5G ใช้การตอบสนองของ TS.43 จากผู้ให้บริการ เซิร์ฟเวอร์การให้สิทธิ์ เพื่อกระตุ้นขั้นตอนการซื้อ ผู้ให้บริการใช้การตอบกลับสำหรับ ระบุ URL สำหรับ WebView การซื้อของผู้ให้บริการ แล้วส่งข้อมูลเพิ่มเติมไปยัง WebView และระบุว่าส่วนแบ่งนี้ได้รับการจัดสรรและพร้อมใช้งานใน เครือข่ายผู้ให้บริการ
ผู้ให้บริการปรับแต่งลักษณะการทำงานของฟีเจอร์การขายอัปเซล 5G ได้โดยใช้ การกำหนดค่าผู้ให้บริการ ซึ่งควบคุมว่าคำขอซื้อสามารถ สร้างขึ้นเมื่อได้รับอนุญาตให้แอปขอความสามารถแบบพรีเมียม และระยะเวลาที่แอป เฟรมเวิร์กโทรศัพท์จะรอคำตอบจากผู้ใช้หรือเครือข่าย
ฟีเจอร์การขายอัปเซล 5G มอบอินเทอร์เฟซที่เรียกว่า
DataBoostWebServiceFlow
,
เพื่ออนุญาตการสื่อสารระหว่าง Android กับ WebView ของผู้ให้บริการ
รูปที่ 2 แสดงขั้นตอนการซื้ออัปเซลผ่าน 5G ดังนี้
รูปที่ 2 ขั้นตอนการซื้ออัปเซลของ 5G
ขั้นตอนการให้สิทธิ์ TS.43
เมื่อผู้ใช้ส่งคำขอสำหรับความสามารถของเครือข่ายที่ปรับปรุงแล้ว โทรศัพท์ ส่งคำขอการกำหนดค่าการให้สิทธิ์บริการสำหรับ ความสามารถระดับพรีเมียม หากการตอบกลับ TS.43 ถูกต้อง เฟรมเวิร์กโทรศัพท์จะใช้ ช่องจากการตอบกลับ HTTP เพื่อกระตุ้นคำขอซื้อ
ช่องการซื้อส่วนแบ่ง
การกำหนดค่าการให้สิทธิ์ TS.43 ประกอบด้วยการซื้อส่วนแบ่งต่อไปนี้ ฟิลด์:
- สถานะการให้สิทธิ์
แป้น:
EntitlementStatus
ประเภท:
int
ค่าที่รองรับ:
0
(ปิดใช้อยู่),1
(เปิดใช้),2
(ใช้ร่วมกันไม่ได้),3
(การจัดสรร),4
(รวมแล้ว)- สถานะการจัดสรร
แป้น:
ProvStatus
ประเภท:
int
ค่าที่รองรับ:
0
(ไม่ได้จัดสรร),1
(จัดสรร),2
(ไม่พร้อมใช้งาน)3
(กำลังดำเนินการ)
เฟรมเวิร์กโทรศัพท์ใช้ทั้งสถานะการให้สิทธิ์และ สถานะการจัดสรรเพื่อกำหนดสถานะการซื้อ Slice ปัจจุบัน ผลลัพธ์ อาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESS
PURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILED
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
หากสถานะการให้สิทธิ์เป็น 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
คือ
สาเหตุของความล้มเหลวที่มนุษย์อ่านได้ในกรณีที่ไม่ทราบรหัสความล้มเหลว
หากไม่มีการเรียกวิธีการตอบกลับรายการใดรายการหนึ่งข้างต้น ระบบจะไม่เรียกการซื้อ ถือว่าสมบูรณ์แล้วและคำขอซื้อหมดเวลาในที่สุด
รหัสต่อไปนี้คือรหัสความล้มเหลวที่ถูกต้องซึ่งเว็บไซต์ของผู้ให้บริการส่งคืนได้ สำหรับการซื้อไม่สำเร็จ:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
เมื่อการซื้อเสร็จสมบูรณ์ ผู้ให้บริการต้องอัปเดต
กฎ URSP
ที่มีการแบ่งส่วน PRIORITIZE_LATENCY
ไปยังอุปกรณ์ของผู้ใช้