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

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

การแบ่งส่วนอุปกรณ์ระดับองค์กรสำหรับอุปกรณ์ที่มีการจัดการเต็มรูปแบบ

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

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

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

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

การแบ่งส่วนเครือข่าย 5G ทำงานอย่างไรใน AOSP

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

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

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

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

แพลตฟอร์มโทรศัพท์และการเชื่อมต่อรองรับ:

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

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

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

  • เพิ่ม android.net.* คลาส API สาธารณะหรือระบบส่วนใหญ่ให้กับโมดูล Tethering
  • ขยายขอบเขตโมดูล Tethering เพื่อรวม:

    • 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 ออกจากโมดูล Tethering

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

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

การนำไปปฏิบัติ

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

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

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

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

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

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

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

สำหรับอุปกรณ์ที่ตั้งค่าด้วยโปรไฟล์งาน การแบ่งส่วนเครือข่าย 5G จะปิดอยู่ตามค่าเริ่มต้นใน AOSP หากต้องการเปิดใช้การแบ่งส่วนเครือข่าย ผู้ดูแลระบบไอทีขององค์กรสามารถเปิดหรือปิดการกำหนดเส้นทางการรับส่งข้อมูลของแอปโปรไฟล์งานไปยังส่วนเครือข่ายองค์กรแบบรายพนักงานผ่าน EMM DPC ซึ่งใช้วิธีการ 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 Id + OS App Id type" ตัวอย่างเช่น ส่วน "ENTERPRISE" ต้องมีค่าเป็น 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 ค่านี้เป็นการต่อ OSId, ความยาวของ OSAppId ( 0x0A ) และ OSAppId สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทส่วนประกอบตัวอธิบายการจราจร โปรดดู 3GPP TS 24.526 ตาราง 5.2.1

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

หมวดหมู่ชิ้น OSAppId คำอธิบาย
องค์กร 0x454E5445525052495345 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE"
องค์กร2 0x454E544552505249534532 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE2"
องค์กร3 0x454E544552505249534533 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE3"
องค์กร4 0x454E544552505249534534 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE4"
องค์กร5 0x454E544552505249534535 OSAppId คือการแสดงอาร์เรย์ไบต์ของสตริง "ENTERPRISE5"
ซีบีเอส 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
รหัส OS + ประเภทรหัสแอป OS 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
คำอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
องค์ประกอบ #1: S-NSSAI SST:XX SD:ปปปปปป
องค์ประกอบ #2: DNN องค์กร
คำอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
องค์ประกอบ #1: DNN องค์กร

องค์กร 2

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

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

องค์กร 3

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

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

องค์กร 4

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

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

องค์กร 5

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

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

ซีบีเอส

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

กฎ URSP #6 (CBS)
ลำดับความสำคัญ 6 (0x06)
ตัวบ่งชี้การจราจร #1
รหัส OS + ประเภทรหัสแอป OS 0x97A498E3FC925C9489860333D06E4E4703434253
คำอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
องค์ประกอบ #1: S-NSSAI SST:XX SD:ปปปปปป
องค์ประกอบ #2: DNN ซีบีเอส
คำอธิบายการเลือกเส้นทาง #2
ลำดับความสำคัญ 2 (0x02)
องค์ประกอบ #1: DNN ซีบีเอส

เวลาแฝงต่ำ

การรองรับเวลาแฝงต่ำมีให้ใช้งานใน Android 13 ขึ้นไป ต่อไปนี้เป็นตัวอย่างกฎ URSP สำหรับการรับส่งข้อมูล LOW_LATENCY:

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

แบนด์วิธสูง

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

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

ค่าเริ่มต้น

กฎ URSP #9 (ค่าเริ่มต้น)
ลำดับความสำคัญ 9 (0x09)
ตัวบ่งชี้การจราจร #1
ตรงทั้งหมด ไม่มี
คำอธิบายการเลือกเส้นทาง #1
ลำดับความสำคัญ 1 (0x01)
องค์ประกอบ #1: S-NSSAI SST:XX SD:ปปปปปป

การทดสอบ

หากต้องการทดสอบการแบ่งส่วนเครือข่าย 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

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

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

ฟิลด์การซื้อชิ้นส่วน

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

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

คีย์: EntitlementStatus

ประเภท: int

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

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

คีย์: ProvStatus

ประเภท: int

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

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

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

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

อินเตอร์เฟซจาวาสคริปต์

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

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

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

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

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

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

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