Hệ thống mạng 5G

Đối với các thiết bị chạy Android 12 trở lên, Android cung cấp hỗ trợ phân chia mạng 5G, sử dụng ảo hóa mạng để chia các kết nối mạng đơn thành nhiều kết nối ảo riêng biệt nhằm cung cấp lượng tài nguyên khác nhau cho các loại lưu lượng khác nhau. Việc phân chia mạng 5G cho phép các nhà khai thác mạng dành một phần mạng để cung cấp các tính năng cụ thể cho một phân khúc khách hàng cụ thể. Android 12 giới thiệu các khả năng phân chia mạng doanh nghiệp 5G sau đây mà nhà khai thác mạng có thể cung cấp cho khách hàng doanh nghiệp của họ:

Phân chia thiết bị doanh nghiệp cho các thiết bị được quản lý hoàn toàn

Đối với các doanh nghiệp cung cấp thiết bị công ty được quản lý hoàn toàn cho nhân viên của mình, nhà cung cấp mạng có thể cung cấp cho họ một hoặc nhiều lát mạng doanh nghiệp đang hoạt động nơi lưu lượng truy cập trên thiết bị của công ty được định tuyến tới. Từ Android 12, Android cho phép các nhà mạng cung cấp các lát cắt cho doanh nghiệp thông qua quy tắc URSP, thay vì thiết lập các lát cắt thông qua APN.

Cắt ứng dụng doanh nghiệp dành cho thiết bị có hồ sơ công việc

Đối với các doanh nghiệp sử dụng giải pháp hồ sơ công việc , Android 12 cho phép các thiết bị định tuyến lưu lượng truy cập từ tất cả ứng dụng trong hồ sơ công việc đến một phần mạng doanh nghiệp. Doanh nghiệp có thể kích hoạt khả năng này thông qua Bộ điều khiển chính sách thiết bị (DPC) .

Giải pháp hồ sơ công việc cung cấp mức độ xác thực và kiểm soát truy cập tự động mà doanh nghiệp yêu cầu để đảm bảo rằng chỉ lưu lượng truy cập từ các ứng dụng doanh nghiệp trong hồ sơ công việc mới được định tuyến đến phần mạng doanh nghiệp. Các ứng dụng trong hồ sơ công việc không cần phải sửa đổi để yêu cầu rõ ràng phần mạng doanh nghiệp.

Cách phân chia mạng 5G hoạt động trong AOSP

Android 12 giới thiệu tính năng hỗ trợ phân chia mạng 5G thông qua các phần bổ sung cho cơ sở mã điện thoại trong AOSP và mô-đun Tethering để kết hợp các API kết nối hiện có cần thiết cho việc phân chia mạng.

Nền tảng điện thoại Android cung cấp HAL và API điện thoại để hỗ trợ phân chia dựa trên các yêu cầu mạng được gửi bởi mã mạng lõi và khả năng phân chia 5G trong modem. Hình 1 mô tả các thành phần của tính năng phân chia mạng 5G.

Các thành phần phân chia mạng 5G

Hình 1. Kiến trúc phân chia mạng 5G trong AOSP.

Nền tảng điện thoại và kết nối hỗ trợ:

  • Chuyển đổi các yêu cầu mạng cho các danh mục lát cắt thành các bộ mô tả lưu lượng truy cập , sau đó được chuyển đến modem để khớp lưu lượng truy cập URSP và chọn tuyến đường
  • Quay trở lại mạng mặc định nếu phần mạng doanh nghiệp không khả dụng
  • Định tuyến lưu lượng truy cập từ tất cả các ứng dụng trong hồ sơ công việc tới kết nối tương ứng
  • Hỗ trợ chia nhỏ doanh nghiệp

    • Phát hiện sự hiện diện của hồ sơ công việc trên thiết bị
    • Kiểm tra các quyền hoặc hướng dẫn định tuyến được cung cấp từ DPC được quản trị viên CNTT của doanh nghiệp sử dụng

Dịch vụ mạng lõi bao gồm những thay đổi sau đối với mô-đun Tethering trong Android 12:

  • Thêm hầu hết các lớp API công khai hoặc hệ thống android.net.* vào mô-đun Tethering
  • Mở rộng ranh giới mô-đun Tethering để bao gồm:

    • 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
  • Di chuyển mã VPN ra khỏi mô-đun Tethering

Android 12 chuyển mã có các chức năng sau sang mô-đun Tethering:

  • Nhận yêu cầu từ ứng dụng về kết nối mạng
  • Nhận yêu cầu từ hệ thống (ví dụ: "đặt các ứng dụng này trên một lát doanh nghiệp"; được giới thiệu trong Android 12)
  • Gửi yêu cầu từ hệ thống tới mã điện thoại cố gắng thiết lập mạng hoặc lát bằng cách đi qua API HAL và modem
  • Thông báo cho netd cách định tuyến lưu lượng truy cập trên từng ứng dụng (được giới thiệu trong Android 12)
  • Thông báo cho ứng dụng những gì đang xảy ra với lưu lượng truy cập mạng của họ thông qua các API ConnectivityManager như NetworkCallback , getActiveNetwork , getNetworkCapabilities .

Thực hiện

Để hỗ trợ chia 5G trên thiết bị, thiết bị đó phải có modem hỗ trợ IRadio 1.6 HAL có API setupDataCall_1_6 . API này thiết lập kết nối dữ liệu và bao gồm các tham số sau để hỗ trợ phân chia 5G:

  • trafficDescriptor : Chỉ định bộ mô tả lưu lượng được gửi tới modem
  • sliceInfo : Chỉ định thông tin cho lát mạng sẽ được sử dụng trong trường hợp chuyển giao EPDG sang 5G
  • matchAllRuleAllowed : Chỉ định xem có cho phép sử dụng quy tắc URSP khớp tất cả mặc định hay không. Điện thoại đặt điều này thành đúng cho các mạng mặc định nhưng không đúng cho các lát. Quy tắc khớp tất cả được áp dụng cho các mạng mặc định. Khi một ứng dụng yêu cầu một lát cắt cụ thể nhưng không có sẵn thì lát cắt cụ thể đó sẽ được báo cáo là không có sẵn. Đối với các ứng dụng doanh nghiệp, khung Điện thoại có thể quay lại mạng mặc định nếu mạng doanh nghiệp không khả dụng.

Modem cũng phải triển khai API getSlicingConfig trừ khi API getHalDeviceCapabilities cho biết API này không được hỗ trợ.

Yêu cầu doanh nghiệp

Phần sau đây mô tả các yêu cầu đối với doanh nghiệp khi sử dụng tính năng chia mạng 5G trên các thiết bị khi triển khai Android cho doanh nghiệp.

  • Đảm bảo rằng các thiết bị được quản lý hoàn toàn hoặc thiết bị của nhân viên được thiết lập với hồ sơ công việc đều có khả năng hỗ trợ 5G SA với các modem hỗ trợ API setupDataCall_1_6 .
  • Làm việc với đối tác nhà cung cấp dịch vụ về thiết lập lát cắt và hiệu suất hoặc các đặc điểm SLA.

Bật tính năng chia cắt 5G trên các thiết bị được thiết lập có hồ sơ công việc

Đối với các thiết bị được thiết lập với hồ sơ công việc, tính năng chia mạng 5G bị tắt theo mặc định trong AOSP. Để bật tính năng chia mạng, quản trị viên CNTT doanh nghiệp có thể bật hoặc tắt định tuyến lưu lượng truy cập ứng dụng hồ sơ công việc tới phần mạng doanh nghiệp trên cơ sở mỗi nhân viên thông qua EMM DPC, sử dụng phương thức setPreferentialNetworkServiceEnabled trong API DevicePolicyManager (DPM) (được giới thiệu trong Android 12).

Các nhà cung cấp EMM có DPC tùy chỉnh phải tích hợp API DevicePolicyManager để hỗ trợ khách hàng doanh nghiệp.

quy tắc URSP

Phần này bao gồm thông tin dành cho nhà cung cấp dịch vụ về cách định cấu hình quy tắc URSP cho các danh mục lát khác nhau bao gồm doanh nghiệp, CBS, độ trễ thấp và lưu lượng băng thông cao. Khi định cấu hình quy tắc URSP cho các danh mục lát khác nhau, nhà cung cấp dịch vụ phải sử dụng các giá trị dành riêng cho Android sau đây.

NHẬN DẠNG Giá trị Sự miêu tả
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 OSId dành cho Android là UUID phiên bản 5 được tạo với không gian tên ISO OID và tên "Android".

Nhà cung cấp dịch vụ phải định cấu hình quy tắc URSP cho từng lát lưu lượng truy cập với thành phần mô tả lưu lượng truy cập là "loại Id hệ điều hành + loại Id ứng dụng hệ điều hành". Ví dụ: lát "DOANH NGHIỆP" phải có giá trị 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . Giá trị này là sự kết hợp của OSId, độ dài của OSAppId ( 0x0A ) và OSAppId. Để biết thêm thông tin về loại thành phần mô tả lưu lượng, hãy xem 3GPP TS 24.526 Bảng 5.2.1 .

Bảng sau đây mô tả các giá trị OSAppId cho các danh mục lát cắt khác nhau.

Danh mục lát cắt Id ứng dụng hệ điều hành Sự miêu tả
DOANH NGHIỆP 0x454E5445525052495345 OSAppId là biểu diễn mảng byte của chuỗi "ENTERPRISE"
DOANH NGHIỆP2 0x454E544552505249534532 OSAppId là biểu diễn mảng byte của chuỗi "ENTERPRISE2"
DOANH NGHIỆP3 0x454E544552505249534533 OSAppId là biểu diễn mảng byte của chuỗi "ENTERPRISE3"
DOANH NGHIỆP4 0x454E544552505249534534 OSAppId là biểu diễn mảng byte của chuỗi "ENTERPRISE4"
DOANH NGHIỆP5 0x454E544552505249534535 OSAppId là biểu diễn mảng byte của chuỗi "ENTERPRISE5"
CBS 0x434253 OSAppId là biểu diễn mảng byte của chuỗi "CBS"
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId là biểu diễn mảng byte của chuỗi "PRIORITIZE_LATENCY"
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId là biểu diễn mảng byte của chuỗi "PRIORITIZE_BANDWIDTH"

Ví dụ về quy tắc URSP

Các bảng sau đây hiển thị các quy tắc URSP mẫu dành cho doanh nghiệp, CBS, độ trễ thấp, băng thông cao và lưu lượng truy cập mặc định.

Doanh nghiệp 1

Hỗ trợ dành cho Enterprise 1 có sẵn trên Android 12 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE1:

Quy tắc URSP số 1 (doanh nghiệp1)
Quyền ưu tiên 1 (0x01)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN doanh nghiệp
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN doanh nghiệp

Doanh nghiệp 2

Hỗ trợ dành cho Enterprise 2 có sẵn trên Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE2:

Quy tắc URSP số 2 (doanh nghiệp2)
Quyền ưu tiên 2 (0x02)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN doanh nghiệp2
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN doanh nghiệp2

Doanh nghiệp 3

Hỗ trợ dành cho Enterprise 3 có sẵn trên Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE3:

Quy tắc URSP số 3 (doanh nghiệp3)
Quyền ưu tiên 3 (0x03)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN doanh nghiệp3
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN doanh nghiệp3

Doanh nghiệp 4

Hỗ trợ dành cho Enterprise 4 có sẵn trên Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE4:

Quy tắc URSP số 4 (doanh nghiệp4)
Quyền ưu tiên 4 (0x04)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN doanh nghiệp4
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN doanh nghiệp4

Doanh nghiệp 5

Hỗ trợ dành cho Enterprise 5 có sẵn trên Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập ENTERPRISE5:

Quy tắc URSP số 5 (doanh nghiệp5)
Quyền ưu tiên 5 (0x05)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN doanh nghiệp5
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN doanh nghiệp5

CBS

Hỗ trợ cho CBS có sẵn trong Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng CBS:

Quy tắc URSP số 6 (CBS)
Quyền ưu tiên 6 (0x06)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E4703434253
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN cbs
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN cbs

Độ trễ thấp

Hỗ trợ Độ trễ thấp có sẵn trong Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập LOW_LATENCY:

Quy tắc URSP số 7 (độ trễ thấp)
Quyền ưu tiên 7 (0x07)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN độ trễ
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN độ trễ

Băng tần cao

Hỗ trợ Băng thông cao có sẵn trong Android 13 trở lên. Sau đây là ví dụ về quy tắc URSP cho lưu lượng truy cập HIGH_BANDWIDTH:

Quy tắc URSP số 8 (băng thông cao)
Quyền ưu tiên 8 (0x08)
Mô tả giao thông số 1
Id hệ điều hành + loại Id ứng dụng hệ điều hành 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY
Thành phần số 2: DNN băng thông
Bộ mô tả lựa chọn tuyến đường số 2
Quyền ưu tiên 2 (0x02)
Thành phần số 1: DNN băng thông

Mặc định

Quy tắc URSP số 9 (mặc định)
Quyền ưu tiên 9 (0x09)
Mô tả giao thông số 1
trận đấu tất cả không áp dụng
Bộ mô tả lựa chọn tuyến đường số 1
Quyền ưu tiên 1 (0x01)
Thành phần #1: S-NSSAI SST:XX SD:YYYYYY

Kiểm tra

Để kiểm tra việc phân chia mạng 5G, hãy sử dụng quy trình kiểm tra thủ công sau.

Để thiết lập một thiết bị để thử nghiệm, hãy làm như sau:

  1. Đảm bảo rằng chính sách URSP được định cấu hình với quy tắc không mặc định phù hợp với danh mục doanh nghiệp và bộ mô tả lựa chọn tuyến đường tương ứng ánh xạ danh mục doanh nghiệp tới lát doanh nghiệp; và quy tắc mặc định hướng lưu lượng truy cập đến phần internet mặc định.

  2. Đảm bảo rằng hồ sơ công việc được định cấu hình trên thiết bị.

  3. Chọn tham gia sử dụng tính năng cắt mạng thông qua DPC

Để kiểm tra hành vi cắt mạng 5G, hãy làm như sau:

  1. Xác minh rằng phiên PDU được thiết lập với lát doanh nghiệp (ví dụ: bằng cách sử dụng địa chỉ IP cụ thể) và các ứng dụng trong hồ sơ công việc sử dụng phiên PDU đó.
  2. Xác minh rằng phiên PDU riêng biệt được thiết lập với phần internet mặc định và các ứng dụng trong hồ sơ cá nhân sử dụng phiên PDU.

Bán thêm 5G

Tính năng bán thêm phân chia 5G, có sẵn từ Android 14-QPR1, cho phép các nhà mạng cung cấp khả năng mạng nâng cao (độ trễ và băng thông) cho người dùng của họ thông qua việc phân chia mạng 5G.

Tính năng bán thêm phân chia 5G sử dụng phản hồi TS.43 từ máy chủ quyền của nhà cung cấp dịch vụ để thúc đẩy luồng mua hàng. Nhà cung cấp dịch vụ có thể sử dụng phản hồi để chỉ định URL cho chế độ xem web mua hàng của nhà cung cấp dịch vụ, gửi dữ liệu bổ sung tới chế độ xem web và cho biết liệu phần này có được cung cấp và khả dụng trên mạng của nhà cung cấp dịch vụ hay không.

Các nhà cung cấp dịch vụ có thể tùy chỉnh hoạt động của tính năng bán thêm 5G bằng cách sử dụng cấu hình của nhà cung cấp dịch vụ để kiểm soát xem có thể thực hiện yêu cầu mua hàng hay không, khi nào ứng dụng được phép yêu cầu các chức năng cao cấp và khung Điện thoại chờ phản hồi từ người dùng hoặc mạng trong bao lâu.

Tính năng bán thêm phân chia 5G cung cấp một giao diện có tên DataBoostWebServiceFlow để cho phép giao tiếp giữa Android và chế độ xem web của nhà cung cấp dịch vụ.

Hình 2 cho thấy quy trình mua thêm sản phẩm 5G:

Luồng mua hàng bán thêm 5G cắt giảm

Hình 2. Luồng mua thêm bán thêm theo phần 5G.

Quy trình hưởng quyền TS.43

Khi người dùng đưa ra yêu cầu về khả năng mạng nâng cao, khung Điện thoại sẽ yêu cầu cấu hình quyền được hưởng dịch vụ cho khả năng cao cấp được yêu cầu. Nếu phản hồi TS.43 hợp lệ thì khung Điện thoại sẽ sử dụng các trường từ phản hồi HTTP để thúc đẩy yêu cầu mua hàng.

Các trường mua lát

Cấu hình quyền TS.43 bao gồm các trường mua lát sau:

Trạng thái quyền lợi

Từ khóa: EntitlementStatus

Kiểu: int

Các giá trị được hỗ trợ: 0 (đã tắt), 1 (đã bật), 2 (không tương thích), 3 (cung cấp), 4 (đã bao gồm)

Trạng thái cung cấp

Từ khóa: ProvStatus

Kiểu: int

Các giá trị được hỗ trợ: 0 (không được cung cấp), 1 (được cung cấp), 2 (không có sẵn), 3 (đang tiến hành)

Khung Điện thoại sử dụng kết hợp trạng thái quyền được hưởng và trạng thái cung cấp để xác định trạng thái mua phần hiện tại. Kết quả có thể là một trong những điều sau đây:

Nếu trạng thái quyền được hưởng là 1 (đã bật) và trạng thái cung cấp là 0 (không được cung cấp), thì khung Điện thoại sẽ hiển thị thông báo bán thêm cho người dùng để mua mức tăng thông qua chế độ xem web của nhà cung cấp dịch vụ. Bảng sau đây mô tả hoạt động của khung Điện thoại đối với các kết hợp khác nhau của giá trị trạng thái cấp phép và quyền được hưởng.

Trạng thái cung cấp
Không được cung cấp ( 0 ) Đã cung cấp ( 1 ) 1 ) Không có sẵn ( 2 ) Đang tiến hành ( 3 )
Trạng thái quyền lợi Đã tắt ( 0 ) Thất bại Thất bại Thất bại Thất bại
Đã bật ( 1 ) Hiển thị chế độ xem web Đã mua Đã mua Trong tiến trình
Không tương thích ( 2 ) Thất bại Thất bại Thất bại Thất bại
Cung cấp ( 3 ) Lỗi nhà mạng Lỗi nhà mạng Trong tiến trình Trong tiến trình
Bao gồm ( 4 ) Lỗi nhà mạng Đã mua Đã mua Lỗi nhà mạng

Các trường luồng dịch vụ

Phản hồi TS.43 chỉ định URL, dữ liệu người dùng và loại nội dung để tùy chỉnh hành vi xem web mua hàng của nhà cung cấp dịch vụ. Nếu loại nội dung không được chỉ định thì URL sẽ được tải dưới dạng yêu cầu GET. Nếu dữ liệu người dùng tồn tại, dữ liệu đó sẽ được thêm vào URL dưới dạng tham số truy vấn (ví dụ: https://www.android.com?encodedValue=Base64EncodedUserData ); và nếu nó không tồn tại thì URL sẽ được sử dụng nguyên trạng (ví dụ: https://www.android.com ).
Nếu loại nội dung được chỉ định ở định dạng JSON hoặc XML thì URL sẽ được tải dưới dạng yêu cầu POST và dữ liệu người dùng (được giải mã nếu được mã hóa theo Base 64) sẽ được gửi dưới dạng dữ liệu cho yêu cầu POST.

URL

Khóa: ServiceFlow_URL

Kiểu: String

Ví dụ: "https://www.android.com"

Dữ liệu người dùng

Khóa: ServiceFlow_UserData

Kiểu: String

Ví dụ: "encodedValue=Base64EncodedUserData"

Loại nội dung

Khóa: ServiceFlow_ContentsType

Kiểu: String

Các giá trị được hỗ trợ: 0 (không xác định), 1 (JSON), 2 (XML)

Cấu hình nhà cung cấp dịch vụ

Sau đây là các cấu hình nhà cung cấp dịch vụ có sẵn để tùy chỉnh hoạt động của tính năng bán thêm phân chia 5G.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

Danh sách các khả năng cao cấp được hỗ trợ. Đây là một mảng int của TelephonyManager.PremiumCapability . Các khả năng cao cấp này có cùng giá trị với lớp NetworkCapabilities.NetCapability tương ứng. Nếu khả năng cao cấp được yêu cầu và khả năng đó không được bao gồm trong cấu hình này thì yêu cầu mua sẽ không thành công với kết quả CARRIER_DISABLED .

Trong Android 14, chỉ hỗ trợ PREMIUM_CAPABILITY_PRIORITIZE_LATENCY .

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

Số lần tối đa hàng ngày mà thông báo mua thêm được hiển thị cho người dùng. Nếu đạt đến mức tối đa hàng ngày, thông báo bán thêm sẽ không được hiển thị và các yêu cầu mua hàng (bao gồm cả yêu cầu máy chủ quyền) sẽ bị hạn chế cho đến nửa đêm ngày hôm sau. Yêu cầu mua hàng được thực hiện sau khi đạt đến mức tối đa hàng ngày không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Số lần tối đa hàng tháng mà thông báo mua hàng bán thêm được hiển thị cho người dùng. Nếu đạt đến mức tối đa hàng tháng, thông báo bán thêm sẽ không được hiển thị và các yêu cầu mua hàng (bao gồm cả yêu cầu máy chủ quyền) sẽ bị hạn chế cho đến ngày đầu tiên của tháng tiếp theo. Yêu cầu mua hàng được thực hiện sau khi đạt đến mức tối đa hàng tháng không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

URL mua hàng của nhà cung cấp dịch vụ dự phòng sẽ hiển thị cho người dùng khi họ nhấp vào thông báo bán thêm. Nếu không tìm thấy URL mua hàng trong phản hồi TS.43 từ máy chủ được hưởng thì giá trị này sẽ được sử dụng thay thế. Nếu cả URL từ phản hồi TS.43 hoặc cấu hình nhà cung cấp dịch vụ đều không hợp lệ thì yêu cầu mua hàng sẽ không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED .

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

Có cho phép mua các chức năng cao cấp khi thiết bị được kết nối với Tiến hóa dài hạn (LTE) hay không. Nếu true , yêu cầu mua hàng có thể được thực hiện trên cả LTE và New Radio (NR). Nếu false , yêu cầu mua hàng chỉ có thể được thực hiện trên NR và các yêu cầu được thực hiện trên LTE không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

Khoảng thời gian hiển thị thông báo mua hàng bán thêm cho người dùng trước khi nó tự động bị hủy. Khi thông báo bị hủy, các yêu cầu tiếp theo sẽ bị hạn chế và không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Khoảng thời gian mà các yêu cầu mua hàng tiếp theo sẽ được điều chỉnh sau khi xảy ra lỗi do hết thời gian chờ hoặc do người dùng hủy. Nếu người dùng không nhấp vào thông báo bán thêm sản phẩm mua trong khoảng thời gian chờ được chỉ định bởi KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG hoặc nếu họ hủy hoặc loại bỏ thông báo thì đồng hồ hẹn giờ chờ này sẽ bắt đầu. Khi bộ hẹn giờ này đang hoạt động, các yêu cầu mua hàng không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Khoảng thời gian mà các yêu cầu mua hàng tiếp theo sẽ được điều chỉnh sau khi xảy ra lỗi do nhà cung cấp dịch vụ hoặc mạng. Nếu quá trình kiểm tra quyền không thành công, URL không khả dụng hoặc URL mua hàng của nhà cung cấp dịch vụ cho biết không thành công thì bộ đếm thời gian chờ này sẽ bắt đầu. Khi bộ hẹn giờ này đang hoạt động, các yêu cầu mua hàng không thành công với kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Khoảng thời gian mà mạng phải thiết lập cấu hình phân chia cho khả năng mua hàng cao cấp. Trong khoảng thời gian này, các yêu cầu mua tiếp theo sẽ bị chặn và trả về kết quả PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP . Nếu mạng không kịp thời thiết lập cấu hình cắt, các ứng dụng có thể yêu cầu mua lại các chức năng cao cấp. Điện thoại không coi việc mua hàng là hoàn tất cho đến khi cấu hình cắt tương ứng được gửi, bất kể người dùng có trả tiền cho nhà cung cấp dịch vụ hay không.

Giao diện Javascript

Khi người dùng nhấp vào thông báo tăng cường mạng, đối tượng WebView có URL mua nhà cung cấp dịch vụ sẽ được hiển thị cho người dùng. Nhà cung cấp dịch vụ có thể sử dụng các API được cung cấp trong giao diện Javascript DataBoostWebServiceFlow trên trang web mua hàng của họ để liên lạc với ứng dụng mua từng phần.

Trang web của nhà cung cấp dịch vụ có thể nhận được khả năng cao cấp được yêu cầu thông qua phương thức getRequestedCapability() .

Nếu giao dịch mua thành công, trang web của nhà cung cấp dịch vụ phải thông báo cho ứng dụng mua lát thông qua notifyPurchaseSuccessful() hoặc notifyPurchaseSuccessful(duration) trong đó duration là thông số tùy chọn cho biết thời lượng dự kiến ​​của lát.

Nếu giao dịch mua không thành công, trang web của nhà cung cấp dịch vụ phải thông báo cho ứng dụng mua lát thông qua phương thức notifyPurchaseFailed(code, reason) , trong đó code là mã lỗi cho biết nguyên nhân thất bại và reason là lý do con người có thể đọc được nếu giao dịch mua không thành công. mã lỗi không xác định.

Nếu một trong hai phương thức phản hồi này không được gọi thì giao dịch mua sẽ không được coi là hoàn tất và yêu cầu mua cuối cùng sẽ hết thời gian.

Sau đây là các mã lỗi hợp lệ mà trang web của nhà cung cấp dịch vụ có thể trả lại nếu mua hàng không thành công:

Khi quá trình mua hàng hoàn tất, nhà cung cấp dịch vụ phải cập nhật các quy tắc URSP với phần PRIORITIZE_LATENCY cho thiết bị của người dùng.