Untuk perangkat yang menjalankan Android 12 atau yang lebih tinggi, Android menyediakan dukungan untuk Network Slicing 5G, penggunaan virtualisasi jaringan untuk membagi koneksi jaringan tunggal menjadi beberapa koneksi virtual yang berbeda yang menyediakan jumlah resource yang berbeda untuk berbagai jenis traffic. Network slicing 5G memungkinkan operator jaringan mendedikasikan sebagian jaringan untuk menyediakan fitur tertentu bagi segmen pelanggan tertentu. Android 12 memperkenalkan kemampuan pengirisan jaringan perusahaan 5G berikut, yang dapat disediakan oleh operator jaringan kepada klien perusahaan mereka:
Pengelompokan perangkat perusahaan untuk perangkat terkelola sepenuhnya
Untuk perusahaan yang menyediakan perangkat perusahaan yang terkelola sepenuhnya kepada karyawannya, penyedia jaringan dapat menyediakan satu atau beberapa irisan jaringan perusahaan aktif tempat traffic di perangkat perusahaan dirutekan. Mulai Android 12, Android memungkinkan operator menyediakan slice perusahaan melalui aturan URSP, bukan menyiapkan slice melalui APN.
Pengelompokan 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 menyediakan 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 dimodifikasi untuk meminta slice jaringan perusahaan secara eksplisit.
Cara kerja network slicing 5G di AOSP
Android 12 memperkenalkan dukungan untuk network slicing 5G melalui penambahan pada codebase telepon di AOSP dan modul Tethering untuk menggabungkan API konektivitas yang ada yang diperlukan untuk network slicing.
Platform teleponi Android menyediakan HAL dan API teleponi untuk mendukung slicing berdasarkan permintaan jaringan yang diajukan oleh kode jaringan inti dan kemampuan slicing 5G di modem. Gambar 1 menjelaskan komponen fitur slicing jaringan 5G.
Gambar 1. Arsitektur segmentasi jaringan 5G di AOSP.
Platform teleponi dan konektivitas mendukung:
- Mengonversi permintaan jaringan untuk kategori slice menjadi deskriptor traffic yang kemudian diteruskan ke modem untuk pencocokan traffic URSP dan pemilihan rute
- Melakukan penggantian ke jaringan default jika slice jaringan perusahaan tidak tersedia
- Merutekan traffic dari semua aplikasi di profil kerja ke koneksi yang sesuai
Mendukung pengelompokan perusahaan
- Mendeteksi keberadaan profil kerja di perangkat
- Memeriksa izin atau petunjuk rute yang diberikan dari DPC yang digunakan oleh admin IT perusahaan
Layanan jaringan inti mencakup perubahan berikut pada modul Tethering di Android 12:
- Menambahkan sebagian besar class API publik atau sistem
android.net.*
ke modul Tethering Memperluas batas modul Tethering untuk menyertakan:
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 telepon yang mencoba menyiapkan jaringan atau slice dengan melalui HAL API dan modem
- Memberi tahu netd cara merutekan traffic berdasarkan per aplikasi (diperkenalkan di Android 12)
- Memberi tahu aplikasi tentang apa yang terjadi pada traffic jaringannya melalui
API
ConnectivityManager
sepertiNetworkCallback
,getActiveNetwork
,getNetworkCapabilities
.
Implementasi
Untuk mendukung slicing 5G di perangkat, perangkat harus memiliki modem yang mendukung
HAL IRadio 1.6 yang memiliki
API setupDataCall_1_6
. API ini menyiapkan koneksi data dan menyertakan parameter berikut
untuk mendukung slicing 5G:
trafficDescriptor
: Menentukan deskriptor traffic yang dikirim ke modemsliceInfo
: Menentukan informasi untuk slice jaringan yang akan digunakan jika terjadi pengalihan dari EPDG ke 5GmatchAllRuleAllowed
: Menentukan apakah penggunaan aturan URSP default yang cocok dengan semua diizinkan. Telephony menyetelnya ke benar (true) untuk jaringan default tetapi tidak untuk slice. Aturan cocokkan semua diterapkan ke jaringan default. Jika aplikasi meminta slice tertentu yang tidak tersedia, slice tertentu tersebut dilaporkan sebagai tidak tersedia. Untuk aplikasi perusahaan, framework Telephony dapat melakukan penggantian ke jaringan default jika jaringan perusahaan tidak tersedia.
Modem juga harus menerapkan
getSlicingConfig
API kecuali jika dilaporkan tidak didukung oleh
getHalDeviceCapabilities
API.
Persyaratan Enterprise
Berikut ini persyaratan bagi perusahaan untuk menggunakan pengirisan jaringan 5G di perangkat dalam deployment perusahaan Android.
- Pastikan perangkat milik karyawan atau perangkat terkelola sepenuhnya yang disiapkan dengan profil kerja
kompatibel dengan 5G SA dengan modem yang mendukung
API
setupDataCall_1_6
. - Bekerja sama dengan partner operator dalam penyiapan dan performa slice atau karakteristik SLA.
Mengaktifkan slicing 5G di perangkat yang disiapkan dengan profil kerja
Untuk perangkat yang disiapkan dengan profil kerja, network slicing 5G dinonaktifkan secara default di AOSP. Untuk mengaktifkan segmentasi jaringan, admin IT perusahaan dapat mengaktifkan atau menonaktifkan perutean traffic aplikasi profil kerja ke segmen jaringan perusahaan berdasarkan per karyawan melalui EMM DPC, yang menggunakan metode setPreferentialNetworkServiceEnabled
di API DevicePolicyManager
(DPM) (diperkenalkan di Android 12).
Vendor EMM dengan DPC kustom harus mengintegrasikan API DevicePolicyManager
untuk mendukung klien perusahaan.
Aturan URSP
Bagian ini mencakup informasi bagi operator tentang cara mengonfigurasi aturan URSP untuk berbagai kategori slice, termasuk traffic perusahaan, CBS, latensi rendah, dan bandwidth tinggi. Saat mengonfigurasi aturan URSP untuk kategori slice yang berbeda, operator harus menggunakan nilai khusus Android berikut.
ID | Nilai | Deskripsi |
---|---|---|
OSId | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
OSId untuk Android adalah UUID versi 5 yang dibuat dengan namespace ISO OID dan nama "Android". |
Operator harus mengonfigurasi aturan URSP untuk setiap traffic slice dengan komponen deskriptor traffic sebagai "jenis ID OS + ID Aplikasi OS". Misalnya, slice "ENTERPRISE"
harus memiliki nilai
0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
.
Nilai ini adalah gabungan OSId, panjang OSAppId (0x0A
),
dan OSAppId.
Untuk mengetahui informasi selengkapnya tentang jenis komponen deskriptor 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 |
PRIORITIZE_UNIFIED_COMMUNICATIONS |
0x5052494f524954495a455f554e49464945445f434f4d4d554e49434154494f4e53 |
OSAppId adalah representasi array byte dari string PRIORITIZE_UNIFIED_COMMUNICATIONS |
Contoh aturan URSP
Tabel berikut menunjukkan contoh aturan URSP untuk traffic perusahaan, CBS, latensi rendah, bandwidth tinggi, dan default.
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 | |
Jenis OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | perusahaan |
Deskriptor 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 OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | enterprise2 |
Deskriptor pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | enterprise2 |
Enterprise 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 OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | enterprise3 |
Deskriptor pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | enterprise3 |
Enterprise 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 OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | enterprise4 |
Deskriptor pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | enterprise4 |
Enterprise 5
Dukungan untuk Enterprise 5 tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE5:
Aturan URSP #5 (enterprise5) | |
---|---|
Prioritas | 5 (0x05) |
Deskripsi traffic #1 | |
Jenis OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | enterprise5 |
Deskriptor 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 OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E4703434253 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | cbs |
Deskriptor pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | cbs |
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 OS Id + OS App Id | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | latensi |
Deskriptor 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 OS Id + OS App Id | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | bandwidth |
Deskriptor 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 network slicing 5G, gunakan pengujian manual berikut.
Untuk menyiapkan perangkat untuk pengujian, lakukan hal berikut:
Pastikan kebijakan URSP dikonfigurasi dengan aturan non-default yang cocok dengan kategori perusahaan dan deskriptor pemilihan rute yang sesuai memetakan kategori perusahaan ke slice perusahaan; dan aturan default yang mengarahkan traffic ke slice internet default.
Pastikan profil kerja dikonfigurasi di perangkat.
Memilih untuk menggunakan network slicing melalui DPC
Untuk menguji perilaku network slicing 5G, lakukan hal berikut:
- Verifikasi bahwa sesi PDU dibuat dengan slice perusahaan (misalnya, dengan menggunakan alamat IP tertentu) dan aplikasi di profil kerja menggunakan sesi PDU tersebut.
- Pastikan sesi PDU terpisah dibuat dengan slice internet default dan aplikasi di profil pribadi menggunakan sesi PDU tersebut.
Peningkatan penjualan segmentasi 5G
Fitur penawaran upgrade slicing 5G, yang tersedia mulai dari Android 14-QPR1, memungkinkan operator menawarkan kemampuan jaringan yang ditingkatkan (latensi dan bandwidth) kepada pengguna mereka melalui slicing jaringan 5G.
Fitur penawaran upgrade slicing 5G menggunakan respons TS.43 dari server pemberian 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 penawaran 5G slicing menggunakan konfigurasi operator, yang mengontrol apakah permintaan pembelian dapat dilakukan, kapan aplikasi diizinkan untuk meminta kemampuan premium, dan berapa lama framework Telephony menunggu respons dari pengguna atau jaringan.
Fitur penawaran upgrade slicing 5G menyediakan antarmuka, yang disebut
DataBoostWebServiceFlow
,
untuk memungkinkan komunikasi antara Android dan webview operator.
Gambar 2 menunjukkan alur pembelian penawaran upgrade slicing 5G:
Gambar 2. Alur pembelian penawaran upgrade segmentasi 5G.
Proses pemberian hak TS.43
Saat pengguna membuat permintaan untuk kemampuan jaringan yang ditingkatkan, framework Telephony akan meminta konfigurasi hak layanan untuk kemampuan premium yang diminta. Jika respons TS.43 valid, framework Telephony akan menggunakan kolom dari respons HTTP untuk mendorong permintaan pembelian.
Kolom pembelian slice
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
(belum disediakan),1
(disediakan),2
(tidak tersedia),3
(sedang diproses)
Framework Telephony menggunakan kombinasi status hak dan status penyediaan untuk menentukan status pembelian irisan saat ini. Hasilnya dapat berupa salah satu dari berikut:
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
Jika status hak adalah 1
(diaktifkan) dan status penyediaan adalah 0
(tidak disediakan), framework Telephony akan menampilkan notifikasi penawaran untuk
pengguna agar membeli peningkatan melalui webview operator. Tabel berikut menjelaskan perilaku framework Telephony untuk berbagai kombinasi nilai status penyediaan dan hak.
Status penyediaan | |||||
---|---|---|---|---|---|
Tidak disediakan (0 ) |
Disediakan (1 ) |
Tidak tersedia (2 ) |
Sedang berlangsung (3 ) |
||
Status hak | Dinonaktifkan (0 ) |
Gagal | Gagal | Gagal | Gagal |
Diaktifkan (1 ) |
Tampilkan 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 ditambahkan ke
URL sebagai parameter kueri (misalnya,
https://www.android.com?encodedValue=Base64EncodedUserData
); dan jika tidak
ada, URL digunakan apa adanya (misalnya, https://www.android.com
).
Jika jenis konten ditentukan dalam format JSON atau XML, URL dimuat sebagai
permintaan POST, dan data pengguna (didekode jika dienkode dalam Base 64) 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 penawaran 5G slicing.
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 classNetworkCapabilities.NetCapability
yang sesuai. Jika kemampuan premium diminta dan tidak disertakan dalam konfigurasi ini, permintaan pembelian akan gagal dengan hasilCARRIER_DISABLED
.Di Android 14, hanya
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
yang didukung.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
Jumlah maksimum harian berapa kali notifikasi penawaran pembelian ditampilkan kepada pengguna. Jika jumlah maksimum harian tercapai, notifikasi peningkatan penjualan tidak ditampilkan dan permintaan pembelian (termasuk permintaan server hak) akan dibatasi hingga tengah malam pada hari berikutnya. Permintaan pembelian yang dilakukan setelah jumlah maksimum harian tercapai akan gagal dengan hasil
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT
Jumlah maksimum bulanan berapa kali notifikasi peningkatan penjualan ditampilkan kepada pengguna. Jika maksimum bulanan tercapai, notifikasi penawaran tidak ditampilkan dan permintaan pembelian (termasuk permintaan server hak) dibatasi hingga hari pertama bulan berikutnya. Permintaan pembelian yang dilakukan setelah batas maksimum bulanan tercapai akan gagal dengan hasil
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
URL pembelian operator cadangan untuk ditampilkan kepada pengguna saat mereka mengklik notifikasi penawaran. 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 kemampuan premium dibeli saat perangkat terhubung ke Long-Term Evolution (LTE). Jika
true
, permintaan pembelian dapat dilakukan di LTE dan New Radio (NR). Jikafalse
, permintaan pembelian hanya dapat dilakukan di NR dan permintaan yang dilakukan di LTE akan gagal dengan hasilPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
Durasi untuk menampilkan notifikasi penawaran peningkatan pembelian kepada pengguna sebelum dibatalkan secara otomatis. Jika 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 permintaan pembelian berikutnya harus dibatasi setelah kegagalan karena waktu tunggu habis atau pembatalan pengguna. Jika pengguna tidak mengklik notifikasi penawaran pembelian dalam batas waktu yang ditentukan oleh
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
atau jika mereka membatalkan atau menutup notifikasi, timer mundur ini akan dimulai. Saat timer ini aktif, permintaan pembelian akan gagal dengan hasilPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Jumlah waktu permintaan pembelian berikutnya harus dibatasi setelah kegagalan karena operator atau jaringan. Jika pemeriksaan hak gagal, URL tidak tersedia, atau URL pembelian operator menunjukkan kegagalan, timer penghentian ini dimulai. Selama timer ini aktif, permintaan pembelian akan gagal dengan hasil
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
tersebut.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. Teleponi tidak menganggap pembelian selesai hingga konfigurasi pengelompokan 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 memperoleh kemampuan premium yang diminta melalui metode
getRequestedCapability()
.
Jika pembelian berhasil, situs operator harus memberi tahu aplikasi pembelian irisan melalui notifyPurchaseSuccessful()
atau notifyPurchaseSuccessful(duration)
, dengan duration
adalah parameter opsional yang menunjukkan durasi irisan yang diinginkan.
Jika pembelian tidak berhasil, situs operator harus memberi tahu aplikasi pembelian irisan 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 akan habis waktunya.
Berikut adalah kode kegagalan valid yang dapat ditampilkan situs operator untuk kegagalan pembelian:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
Setelah pembelian selesai, operator harus mengupdate
aturan URSP
dengan slice PRIORITIZE_LATENCY
ke perangkat pengguna.