Pemotongan jaringan 5G

Untuk perangkat yang menjalankan Android 12 atau yang lebih baru, Android menyediakan dukungan untuk pemotongan jaringan 5G, penggunaan virtualisasi jaringan untuk membagi satu koneksi jaringan menjadi beberapa koneksi virtual yang berbeda yang menyediakan jumlah resource yang berbeda untuk berbagai jenis traffic. Pemotongan jaringan 5G memungkinkan operator jaringan untuk menyediakan sebagian jaringan untuk memberikan fitur tertentu bagi segmen pelanggan tertentu. Android 12 memperkenalkan kemampuan pemotongan jaringan perusahaan 5G berikut, yang dapat diberikan operator jaringan kepada klien perusahaan mereka:

Pembagian perangkat perusahaan untuk perangkat yang dikelola sepenuhnya

Untuk perusahaan yang menyediakan perangkat perusahaan yang terkelola sepenuhnya kepada karyawannya, penyedia jaringan dapat memberi mereka satu atau beberapa slice jaringan perusahaan aktif tempat traffic di perangkat perusahaan diarahkan. Mulai Android 12, Android memungkinkan operator menyediakan slice perusahaan melalui aturan URSP, bukan menyiapkan slice melalui APN.

Pemotongan aplikasi bisnis perusahaan untuk perangkat dengan profil kerja

Untuk perusahaan yang menggunakan solusi profil kerja, Android 12 memungkinkan perangkat merutekan traffic dari semua aplikasi di profil kerja ke slice jaringan perusahaan. Perusahaan dapat mengaktifkan kemampuan ini melalui Pengontrol Kebijakan Perangkat (DPC).

Solusi profil kerja memberikan tingkat autentikasi dan kontrol akses otomatis yang diperlukan perusahaan untuk memastikan bahwa hanya traffic dari aplikasi perusahaan di profil kerja yang dirutekan ke slice jaringan perusahaan. Aplikasi di profil kerja tidak perlu diubah untuk meminta slice jaringan perusahaan secara eksplisit.

Cara kerja slicing jaringan 5G di AOSP

Android 12 memperkenalkan dukungan untuk pemotongan jaringan 5G melalui penambahan ke codebase telephony di AOSP dan modul Tethering untuk menggabungkan API konektivitas yang ada yang diperlukan untuk pemotongan jaringan.

Platform telepon Android menyediakan API HAL dan telepon untuk mendukung pengirisan berdasarkan permintaan jaringan yang diajukan oleh kode jaringan inti dan kemampuan mengiris 5G di modem. Gambar 1 menjelaskan komponen fitur pemotongan jaringan 5G.

Komponen pemotongan jaringan 5G

Gambar 1. Arsitektur slicing jaringan 5G di AOSP.

Platform telepon dan konektivitas mendukung:

  • Mengonversi permintaan jaringan untuk kategori slice menjadi deskripsi traffic yang kemudian diteruskan ke modem untuk pencocokan traffic URSP dan pemilihan rute
  • Kembali ke jaringan default jika slice jaringan perusahaan tidak tersedia
  • Merutekan traffic dari semua aplikasi pada profil kerja ke koneksi yang sesuai
  • Mendukung slicing perusahaan

    • Mendeteksi keberadaan profil kerja di perangkat
    • Memeriksa izin atau rute yang diberikan dari DPC yang digunakan oleh admin IT perusahaan

Layanan jaringan inti menyertakan perubahan berikut pada modul Tethering di Android 12:

  • Menambahkan sebagian besar class API publik atau sistem android.net.* ke modul Tether
  • Memperluas batas modul Tethering agar mencakup:

    • 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
  • Memindahkan kode VPN dari modul Tethering

Android 12 memindahkan kode dengan kemampuan berikut ke modul Tethering:

  • Menerima permintaan dari aplikasi untuk koneksi jaringan
  • Menerima permintaan dari sistem (misalnya, "tempatkan aplikasi ini di slice perusahaan"; diperkenalkan di Android 12)
  • Mengirim permintaan dari sistem ke kode telefoni yang mencoba menyiapkan jaringan atau slice dengan melalui HAL API dan modem
  • Memberi tahu netd cara merutekan traffic berdasarkan aplikasi (diperkenalkan di Android 12)
  • Memberi tahu aplikasi apa yang terjadi pada traffic jaringannya melalui ConnectivityManager API seperti NetworkCallback, getActiveNetwork, getNetworkCapabilities.

Implementasi

Untuk mendukung slicing 5G di perangkat, perangkat harus memiliki modem yang mendukung HAL IRadio 1.6 yang memiliki setupDataCall_1_6 API. API ini menyiapkan koneksi data dan menyertakan parameter berikut untuk mendukung slicing 5G:

  • trafficDescriptor: Menentukan deskripsi traffic yang dikirim ke modem
  • sliceInfo: Menentukan informasi untuk slice jaringan yang akan digunakan dalam kasus handover EPDG ke 5G
  • matchAllRuleAllowed: Menentukan apakah penggunaan aturan URSP cocok-semua default diizinkan. Telepon menetapkan nilai ini ke benar (true) untuk jaringan default, tetapi tidak untuk slice. Aturan pencocokan semua diterapkan ke jaringan default. Saat aplikasi meminta slice tertentu yang tidak tersedia, slice tertentu tersebut akan dilaporkan sebagai tidak tersedia. Untuk aplikasi perusahaan, framework Telepon dapat kembali ke jaringan default jika jaringan perusahaan tidak tersedia.

Modem juga harus mengimplementasikan getSlicingConfig API kecuali jika dilaporkan sebagai tidak didukung oleh getHalDeviceCapabilities API.

Persyaratan perusahaan

Berikut ini menjelaskan persyaratan bagi perusahaan untuk menggunakan pemotongan jaringan 5G di perangkat dalam deployment perusahaan Android.

  • Pastikan perangkat terkelola sepenuhnya atau karyawan yang disiapkan dengan profil kerja berkemampuan SA 5G dengan modem yang mendukung setupDataCall_1_6 API.
  • Bekerja sama dengan partner operator terkait penyiapan dan performa slice atau karakteristik SLA.

Mengaktifkan slicing 5G di perangkat yang disiapkan dengan profil kerja

Untuk perangkat yang disiapkan dengan profil kerja, pemotongan jaringan 5G dinonaktifkan secara default di AOSP. Untuk mengaktifkan pemotongan jaringan, admin IT perusahaan dapat mengaktifkan atau menonaktifkan pemilihan rute traffic aplikasi profil kerja ke slice jaringan perusahaan berdasarkan per karyawan melalui DPC EMM, yang menggunakan metode setPreferentialNetworkServiceEnabled di DevicePolicyManager (DPM) API (diperkenalkan di Android 12).

Vendor EMM dengan DPC kustom harus mengintegrasikan DevicePolicyManager API untuk mendukung klien perusahaan.

Aturan URSP

Bagian ini mencakup informasi untuk operator tentang cara mengonfigurasi aturan URSP untuk berbagai kategori slice, termasuk traffic perusahaan, CBS, latensi rendah, dan bandwidth tinggi. Saat mengonfigurasi aturan URSP untuk berbagai kategori slice, operator harus menggunakan nilai khusus Android berikut.

ID Nilai Deskripsi
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 OSId untuk Android adalah UUID versi 5 yang dihasilkan dengan OID ISO namespace dan nama "Android".

Operator harus mengonfigurasi aturan URSP untuk setiap traffic slice dengan komponen deskriptor traffic sebagai "ID OS + Jenis ID Aplikasi OS". Misalnya, Slice "ENTERPRISE" harus memiliki nilai 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345. Nilai ini adalah penyambungan OSId, panjang OSAppId (0x0A), dan OSAppId. Untuk mengetahui informasi selengkapnya tentang jenis komponen deskripsi traffic, lihat 3GPP TS 24.526 Tabel 5.2.1.

Tabel berikut menjelaskan nilai OSAppId untuk berbagai kategori slice.

Kategori slice OSAppId Deskripsi
ENTERPRISE 0x454E5445525052495345 OSAppId adalah representasi array byte dari string "ENTERPRISE"
ENTERPRISE2 0x454E544552505249534532 OSAppId adalah representasi array byte dari string "ENTERPRISE2"
ENTERPRISE3 0x454E544552505249534533 OSAppId adalah representasi array byte dari string "ENTERPRISE3"
ENTERPRISE4 0x454E544552505249534534 OSAppId adalah representasi array byte dari string "ENTERPRISE4"
ENTERPRISE5 0x454E544552505249534535 OSAppId adalah representasi array byte dari string "ENTERPRISE5"
CBS 0x434253 OSAppId adalah representasi array byte dari string "CBS"
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId adalah representasi array byte dari string "PRIORITIZE_LATENCY"
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId adalah representasi array byte dari string "PRIORITIZE_BANDWIDTH"

Contoh aturan URSP

Tabel berikut menunjukkan contoh aturan URSP untuk traffic default, latensi rendah, bandwidth tinggi, CBS, dan perusahaan.

Enterprise 1

Dukungan untuk Enterprise 1 tersedia di Android 12 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE1:

Aturan URSP #1 (enterprise1)
Prioritas 1 (0x01)
Deskripsi traffic #1
ID OS + Jenis ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN perusahaan

Enterprise 2

Dukungan untuk Enterprise 2 tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE2:

Aturan URSP #2 (enterprise2)
Prioritas 2 (0x02)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN enterprise2
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN enterprise2

Perusahaan 3

Dukungan untuk Enterprise 3 tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE3:

Aturan URSP #3 (enterprise3)
Prioritas 3 (0x03)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN enterprise3
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN enterprise3

Perusahaan 4

Dukungan untuk Enterprise 4 tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE4:

Aturan URSP #4 (enterprise4)
Prioritas 4 (0x04)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan4
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN enterprise4

Enterprise 5

Dukungan untuk Enterprise 5 tersedia di Android 13 dan yang lebih baru. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE5:

Aturan URSP #5 (enterprise5)
Prioritas 5 (0x05)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN enterprise5
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN enterprise5

CBS

Dukungan untuk CBS tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic CBS:

Aturan URSP #6 (CBS)
Prioritas 6 (0x06)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E4703434253
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN cb
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN cb

Latensi rendah

Dukungan untuk Latensi Rendah tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic LOW_LATENCY:

Aturan URSP #7 (latensi rendah)
Prioritas 7 (0x07)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN latensi
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN latensi

Bandwidth tinggi

Dukungan untuk Bandwidth Tinggi tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic HIGH_BANDWIDTH:

Aturan URSP #8 (bandwidth tinggi)
Prioritas 8 (0x08)
Deskripsi traffic #1
Jenis ID OS + ID Aplikasi OS 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN {i>bandwidth<i}
Deskripsi pemilihan rute #2
Prioritas 2 (0x02)
Komponen #1: DNN bandwidth

Default

Aturan URSP #9 (default)
Prioritas 9 (0x09)
Deskripsi traffic #1
match-all T/A
Deskripsi pemilihan rute #1
Prioritas 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY

Pengujian

Untuk menguji pemotongan jaringan 5G, gunakan pengujian manual berikut.

Untuk menyiapkan perangkat untuk pengujian, lakukan hal berikut:

  1. Pastikan kebijakan URSP dikonfigurasi dengan aturan non-default yang cocok dengan kategori perusahaan dan deskripsi pemilihan rute yang sesuai memetakan kategori perusahaan ke slice perusahaan; dan aturan default yang mengarahkan traffic ke slice internet default.

  2. Memastikan profil kerja dikonfigurasi di perangkat.

  3. Ikut serta untuk menggunakan slicing jaringan melalui DPC

Untuk menguji perilaku pemotongan jaringan 5G, lakukan hal berikut:

  1. Pastikan sesi PDU dibuat dengan slice perusahaan (misalnya, menggunakan alamat IP spesifik) dan aplikasi di profil kerja menggunakan sesi PDU tersebut.
  2. Pastikan sesi PDU terpisah dibuat dengan Slice internet default dan aplikasi di profil pribadi menggunakan sesi PDU.

Upsell slicing 5G

Fitur upsell slicing 5G, yang tersedia dari Android 14-QPR1, memungkinkan operator menawarkan kemampuan jaringan yang ditingkatkan (latensi dan bandwidth) kepada penggunanya melalui slicing jaringan 5G.

Fitur upsell slicing 5G menggunakan respons TS.43 dari server hak operator untuk mendorong alur pembelian. Operator dapat menggunakan respons untuk menentukan URL untuk webview pembelian operator, mengirim data tambahan ke webview, dan menunjukkan apakah slice disediakan dan tersedia di jaringan operator.

Operator dapat menyesuaikan perilaku fitur upsell slicing 5G menggunakan konfigurasi operator, yang mengontrol apakah permintaan pembelian dapat dibuat, kapan aplikasi diizinkan untuk meminta kemampuan premium, dan berapa lama framework Telepon menunggu respons dari pengguna atau jaringan.

Fitur upsell slicing 5G menyediakan antarmuka, yang disebut DataBoostWebServiceFlow, untuk memungkinkan komunikasi antara Android dan webview operator.

Gambar 2 menunjukkan alur pembelian upsell slicing 5G:

Alur pembelian upsell slicing 5G

Gambar 2. Alur pembelian upsell slicing 5G.

Proses hak TS.43

Saat pengguna membuat permintaan untuk kemampuan jaringan yang ditingkatkan, framework Telepon akan meminta konfigurasi hak layanan untuk kemampuan premium yang diminta. Jika respons TS.43 valid, framework Telepon akan menggunakan kolom dari respons HTTP untuk mendorong permintaan pembelian.

Kolom pembelian irisan

Konfigurasi hak TS.43 mencakup kolom pembelian slice berikut:

Status hak

Tombol: EntitlementStatus

Jenis: int

Nilai yang didukung: 0 (dinonaktifkan), 1 (diaktifkan), 2 (tidak kompatibel), 3 (penyediaan), 4 (disertakan)

Status penyediaan

Tombol: ProvStatus

Jenis: int

Nilai yang didukung: 0 (tidak disediakan), 1 (disediakan), 2 (tidak tersedia), 3 (dalam proses)

Framework Layanan Telepon menggunakan kombinasi status hak dan status penyediaan untuk menentukan status pembelian slice saat ini. Hasilnya dapat berupa salah satu dari berikut ini:

Jika status hak adalah 1 (diaktifkan) dan status penyediaan adalah 0 (tidak disediakan), framework Telepon akan menampilkan notifikasi upsell kepada pengguna untuk membeli peningkatan melalui webview operator. Tabel berikut menjelaskan perilaku framework Telepon untuk berbagai kombinasi nilai status penyediaan dan hak.

Status penyediaan
Tidak disediakan (0) Disediakan (1) Tidak tersedia (2) Sedang berlangsung (3)
Status hak Nonaktif (0) Gagal Gagal Gagal Gagal
Diaktifkan (1) Menampilkan webview Sudah dibeli Sudah dibeli Dalam proses
Tidak kompatibel (2) Gagal Gagal Gagal Gagal
Penyediaan (3) Error operator Error operator Dalam proses Dalam proses
Disertakan (4) Error operator Sudah dibeli Sudah dibeli Error operator

Kolom alur layanan

Respons TS.43 menentukan URL, data pengguna, dan jenis konten untuk menyesuaikan perilaku webview pembelian operator. Jika jenis konten tidak ditentukan, URL akan dimuat sebagai permintaan GET. Jika data pengguna ada, data tersebut akan ditambahkan ke URL sebagai parameter kueri (misalnya, https://www.android.com?encodedValue=Base64EncodedUserData); dan jika tidak ada, URL akan digunakan apa adanya (misalnya, https://www.android.com).
Jika jenis konten ditentukan dalam format JSON atau XML, URL akan dimuat sebagai permintaan POST, dan data pengguna (didekode jika dienkode dalam Base 64) akan dikirim sebagai data untuk permintaan POST.

URL

Tombol: ServiceFlow_URL

Jenis: String

Contoh: "https://www.android.com"

Data pengguna

Tombol: ServiceFlow_UserData

Jenis: String

Contoh: "encodedValue=Base64EncodedUserData"

Jenis konten

Tombol: ServiceFlow_ContentsType

Jenis: String

Nilai yang didukung: 0 (tidak ditentukan), 1 (JSON), 2 (XML)

Konfigurasi operator

Berikut adalah konfigurasi operator yang tersedia untuk menyesuaikan perilaku fitur upsell slicing 5G.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

Daftar kemampuan premium yang didukung. Ini adalah array int dari TelephonyManager.PremiumCapability. Kemampuan premium ini memiliki nilai yang sama dengan class NetworkCapabilities.NetCapability yang sesuai. Jika kemampuan premium diminta dan tidak disertakan dalam konfigurasi ini, permintaan pembelian akan gagal dengan hasil CARRIER_DISABLED.

Di Android 14, hanya PREMIUM_CAPABILITY_PRIORITIZE_LATENCY yang didukung.

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

Frekuensi maksimum harian notifikasi upsell pembelian ditampilkan kepada pengguna. Jika batas maksimum harian terpenuhi, notifikasi upsell tidak akan ditampilkan dan permintaan pembelian (termasuk permintaan server hak) akan di-throttle hingga tengah malam keesokan harinya. Permintaan pembelian yang dibuat setelah batas maksimum harian tercapai gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Frekuensi maksimum bulanan notifikasi upsell pembelian ditampilkan kepada pengguna. Jika batas maksimum bulanan terpenuhi, notifikasi upsell tidak akan ditampilkan, dan permintaan pembelian (termasuk permintaan server hak) akan di-throttle hingga hari pertama bulan berikutnya. Permintaan pembelian yang dilakukan setelah maksimum bulanan tercapai akan gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

URL pembelian operator cadangan yang akan ditampilkan kepada pengguna saat mereka mengklik notifikasi upsell. Jika URL pembelian tidak ditemukan dalam respons TS.43 dari server hak, nilai ini akan digunakan. Jika URL dari respons TS.43 atau konfigurasi operator tidak valid, permintaan pembelian akan gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED.

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

Apakah akan mengizinkan pembelian kemampuan premium saat perangkat terhubung ke Long-Term Evolution (LTE). Jika true, permintaan pembelian dapat dilakukan di LTE dan New Radio (NR). Jika false, permintaan pembelian hanya dapat dilakukan di NR dan permintaan yang dilakukan di LTE gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE.

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

Durasi untuk menampilkan notifikasi pembelian upsell kepada pengguna sebelum notifikasi tersebut otomatis dibatalkan. Saat notifikasi dibatalkan, permintaan berikutnya akan dibatasi dan gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Jumlah waktu yang diperlukan untuk membatasi permintaan pembelian berikutnya setelah kegagalan karena waktu tunggu habis atau pembatalan pengguna. Jika pengguna tidak mengklik notifikasi pembelian upsell dalam waktu tunggu yang ditentukan oleh KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG atau jika mereka membatalkan atau menutup notifikasi, timer backoff ini akan dimulai. Saat timer ini aktif, permintaan pembelian akan gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Jumlah waktu yang diperlukan untuk membatasi permintaan pembelian berikutnya setelah kegagalan yang disebabkan oleh operator atau jaringan. Jika pemeriksaan hak gagal, URL tidak tersedia, atau URL pembelian operator menunjukkan kegagalan, timer backoff ini akan dimulai. Saat timer ini aktif, permintaan pembelian akan gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Jumlah waktu yang diperlukan jaringan untuk menyiapkan konfigurasi slicing untuk kemampuan premium pembelian. Selama periode ini, permintaan pembelian berikutnya diblokir dan menampilkan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP. Jika jaringan gagal menyiapkan konfigurasi slicing tepat waktu, aplikasi dapat meminta untuk membeli kemampuan premium lagi. Telepon tidak menganggap pembelian selesai hingga konfigurasi pemotongan yang sesuai dikirim, terlepas dari apakah pengguna membayar operator atau tidak.

Antarmuka JavaScript

Saat pengguna mengklik notifikasi peningkatan jaringan, objek WebView dengan URL pembelian operator akan ditampilkan kepada pengguna. Operator dapat menggunakan API yang disediakan di antarmuka JavaScript DataBoostWebServiceFlow di situs pembelian mereka untuk berkomunikasi dengan aplikasi pembelian slice.

Situs operator dapat mendapatkan kemampuan premium yang diminta melalui metode getRequestedCapability().

Jika pembelian berhasil, situs operator harus memberi tahu aplikasi pembelian slice melalui notifyPurchaseSuccessful() atau notifyPurchaseSuccessful(duration) dengan duration adalah parameter opsional yang menunjukkan durasi slice yang diinginkan.

Jika pembelian tidak berhasil, situs operator harus memberi tahu aplikasi pembelian slice melalui metode notifyPurchaseFailed(code, reason), dengan code adalah kode kegagalan yang menunjukkan alasan kegagalan dan reason adalah alasan kegagalan yang dapat dibaca manusia jika kode kegagalan tidak diketahui.

Jika salah satu metode respons ini tidak dipanggil, pembelian tidak akan dianggap selesai dan permintaan pembelian pada akhirnya akan habis waktunya.

Berikut adalah kode kegagalan yang valid yang dapat ditampilkan situs maskapai untuk kegagalan pembelian:

Setelah pembelian selesai, operator harus memperbarui aturan URSP dengan slice PRIORITIZE_LATENCY ke perangkat pengguna.