Untuk perangkat yang menjalankan Android 12 atau yang lebih tinggi, Android menyediakan dukungan untuk pemotongan jaringan 5G, penggunaan virtualisasi jaringan untuk membagi koneksi jaringan tunggal menjadi beberapa koneksi virtual yang berbeda yang menyediakan jumlah resource berbeda untuk berbagai jenis traffic. 5G irisan jaringan memungkinkan operator jaringan untuk mendedikasikan sebagian jaringan untuk yang menyediakan fitur khusus untuk segmen pelanggan tertentu. Android 12 memperkenalkan kemampuan irisan jaringan perusahaan 5G, yang tidak akan kepada klien perusahaan mereka:
Slicing perangkat perusahaan untuk perangkat terkelola sepenuhnya
Untuk perusahaan yang menyediakan terkelola sepenuhnya perangkat perusahaan kepada para karyawannya, penyedia jaringan dapat memberi mereka satu atau irisan jaringan perusahaan yang lebih aktif, di mana traffic di perangkat perusahaan menjadi tujuan perutean. Mulai Android 12, Android memungkinkan operator menyediakan slice perusahaan melalui aturan URSP, bukan menyiapkan slice melalui APN.
Pengirisan aplikasi bisnis perusahaan untuk perangkat dengan profil kerja
Untuk perusahaan yang menggunakan profil kerja Android 12 memungkinkan perangkat merutekan traffic dari semua aplikasi di profil kerja ke potongan jaringan perusahaan. Perusahaan dapat mengaktifkan kapabilitas melalui Pengontrol Kebijakan Perangkat (DPC).
Solusi profil kerja menyediakan tingkat otentikasi dan yang diperlukan perusahaan untuk memastikan bahwa hanya lalu lintas dari aplikasi perusahaan di profil kerja dirutekan ke slice jaringan perusahaan. Aplikasi di profil kerja tidak perlu diubah untuk meminta secara eksplisit jaringan perusahaan.
Cara kerja slicing jaringan 5G di AOSP
Android 12 memperkenalkan dukungan untuk pemotongan jaringan 5G melalui penambahan codebase telepon di AOSP dan Modul tethering untuk menggabungkan API konektivitas yang ada yang diperlukan untuk slicing jaringan.
Platform telepon Android menyediakan HAL dan API telepon untuk mendukung pembagian berdasarkan permintaan jaringan yang diajukan oleh kode jaringan inti dan 5G kemampuan memotong dalam modem. Gambar 1 menjelaskan komponen 5G fitur pemotong jaringan.
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 lalu lintas URSP dan merutekan pilihan
- Beralih kembali ke jaringan default jika slice jaringan perusahaan tidak tersedia
- Mengarahkan traffic dari semua aplikasi pada profil kerja ke koneksi yang sesuai
Mendukung slicing perusahaan
- Mendeteksi kehadiran profil kerja di perangkat
- Memeriksa izin atau rute pemilihan rute yang diberikan dari DPC yang digunakan oleh admin IT perusahaan
Layanan jaringan inti mencakup perubahan berikut pada Tethering di Android 12:
- Menambahkan sebagian besar
android.net.*
class API publik atau sistem ke Tethering modul 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 pada {i>slice<i} kelas perusahaan"; diperkenalkan di Android 12)
- Mengirim permintaan dari sistem ke kode telepon yang mencoba untuk mengatur jaringan atau irisan dengan melalui HAL API dan modem
- Memberikan informasi tentang cara merutekan traffic per aplikasi (diperkenalkan di Android 12)
- Memberi tahu aplikasi apa yang terjadi pada traffic jaringannya melalui
ConnectivityManager
API sepertiNetworkCallback
,getActiveNetwork
,getNetworkCapabilities
.
Implementasi
Untuk mendukung pemotongan 5G pada perangkat, perangkat harus memiliki modem yang mendukung
IRadio 1.6 HAL yang memiliki
setupDataCall_1_6
Compute Engine API. API ini menyiapkan koneksi data dan menyertakan parameter berikut
untuk mendukung pemotongan 5G:
trafficDescriptor
: Menentukan deskripsi traffic yang dikirim ke modemsliceInfo
: Menentukan informasi untuk slice jaringan yang akan digunakan kasus penyerahan EPDG ke 5GmatchAllRuleAllowed
: Menentukan apakah menggunakan URSP pencocokan semua default diizinkan. Telepon menetapkan nilai ini ke benar (true) untuk jaringan default tapi tidak untuk slice. Kecocokan semua aturan diterapkan ke default jaringan. Saat aplikasi meminta slice tertentu yang tidak tersedia, slice tertentu dilaporkan sebagai tidak tersedia. Sebagai aplikasi perusahaan, framework Telepon dapat kembali ke model default jaringan perusahaan jika jaringan perusahaan tidak tersedia.
Modem juga harus mengimplementasikan
getSlicingConfig
kecuali jika dilaporkan sebagai
tidak didukung oleh
getHalDeviceCapabilities
Compute Engine API.
Persyaratan perusahaan
Berikut ini penjelasan persyaratan bagi perusahaan untuk menggunakan Slice jaringan 5G pada perangkat dalam deployment Android Enterprise.
- Memastikan perangkat terkelola sepenuhnya atau karyawan yang disiapkan dengan profil kerja
mendukung 5G SA dengan
modem yang mendukung
setupDataCall_1_6
Compute Engine API. - Bekerja sama dengan partner operator untuk penyiapan dan performa slice atau SLA karakteristik.
Mengaktifkan Slice 5G di perangkat yang disiapkan dengan profil kerja
Untuk perangkat yang disiapkan dengan profil kerja, slicing jaringan 5G dinonaktifkan oleh
secara default di AOSP. Untuk mengaktifkan slicing jaringan, admin IT perusahaan dapat mengaktifkan atau
mengarahkan rute traffic aplikasi profil kerja ke slice jaringan perusahaan
per karyawan melalui DPC EMM, yang menggunakan
setPreferentialNetworkServiceEnabled
metode tersebut 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 bagi operator tentang cara mengonfigurasi aturan URSP untuk berbagai kategori irisan, seperti enterprise, CBS, latensi rendah, dan lalu lintas bandwidth tinggi. Saat mengkonfigurasi aturan URSP untuk kategori irisan yang berbeda, operator harus menggunakan layanan masing-masing.
ID | Nilai | Deskripsi |
---|---|---|
ID OS | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
OSId untuk Android adalah UUID versi 5 yang dibuat dengan ISO namespace OID dan nama "Android". |
Operator harus mengonfigurasi aturan URSP untuk setiap traffic slice dengan traffic
komponen deskripsi sebagai "ID OS + Jenis ID Aplikasi OS". Misalnya, "ENTERPRISE"
irisan harus memiliki nilai
0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
.
Nilai ini merupakan penyambungan OSId, panjang OSAppId (0x0A
),
dan OSAppId.
Untuk 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 irisan | IDAplikasiOS | Deskripsi |
---|---|---|
PERUSAHAAN | 0x454E5445525052495345 |
OSAppId adalah representasi array byte dari string "ENTERPRISE" |
PERUSAHAAN2 | 0x454E544552505249534532 |
OSAppId adalah representasi array byte dari string "ENTERPRISE2" |
PERUSAHAAN3 | 0x454E544552505249534533 |
OSAppId adalah representasi array byte dari string "ENTERPRISE3" |
PERUSAHAAN4 | 0x454E544552505249534534 |
OSAppId adalah representasi array byte dari string "ENTERPRISE4" |
PERUSAHAAN5 | 0x454E544552505249534535 |
OSAppId adalah representasi array byte dari string "ENTERPRISE5" |
CBS | 0x434253 |
OSAppId adalah representasi array byte dari string "CBS" |
PRIORITAS_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 perusahaan, CBS, latensi rendah, bandwidth tinggi, dan traffic default.
Perusahaan 1
Dukungan untuk Enterprise 1 tersedia di Android 12 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE1:
Aturan URSP #1 (perusahaan1) | |
---|---|
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 |
Perusahaan 2
Dukungan untuk Enterprise 2 tersedia di Android 13 dan yang lebih tinggi. Berikut adalah contoh aturan URSP untuk traffic ENTERPRISE2:
Aturan URSP #2 (perusahaan2) | |
---|---|
Prioritas | 2 (0x02) |
Deskripsi traffic #1 | |
ID OS + Jenis ID Aplikasi OS | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | perusahaan2 |
Deskripsi pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | perusahaan2 |
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 | |
ID OS + Jenis ID Aplikasi OS | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | perusahaan3 |
Deskripsi pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | perusahaan3 |
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 | |
ID OS + Jenis 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 | perusahaan4 |
Perusahaan 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 | |
ID OS + Jenis ID Aplikasi OS | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Komponen #2: DNN | perusahaan5 |
Deskripsi pemilihan rute #2 | |
Prioritas | 2 (0x02) |
Komponen #1: DNN | perusahaan5 |
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 | |
ID OS + Jenis 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 | |
ID OS + Jenis 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 |
{i>Bandwidth<i} 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 | |
ID OS + Jenis 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 | {i>bandwidth<i} |
Default
Aturan URSP #9 (default) | |
---|---|
Prioritas | 9 (0x09) |
Deskripsi traffic #1 | |
cocokkan semua | T/A |
Deskripsi pemilihan rute #1 | |
Prioritas | 1 (0x01) |
Komponen #1: S-NSSAI | SST:XX SD:YYYYYY |
Pengujian
Untuk menguji slicing jaringan 5G, gunakan pengujian manual berikut.
Untuk menyiapkan perangkat yang akan diuji, lakukan hal berikut:
Pastikan kebijakan URSP dikonfigurasi dengan aturan non-default yang cocok dengan kategori perusahaan dan pemilihan rute yang sesuai deskriptor memetakan kategori perusahaan ke slice enterprise; dan aturan default yang mengarahkan traffic ke slice internet default.
Memastikan profil kerja dikonfigurasi di perangkat.
Ikut serta untuk menggunakan irisan jaringan melalui DPC
Untuk menguji perilaku slicing jaringan 5G, lakukan langkah berikut:
- Pastikan sesi PDU dibuat di bagian perusahaan (untuk misalnya, dengan menggunakan alamat IP tertentu) dan aplikasi di profil kerja menggunakan sesi PDU tersebut.
- Memastikan sesi PDU terpisah dibuat dengan internet default dan bahwa aplikasi di profil pribadi akan menggunakan sesi PDU.
Upsell slicing 5G
Fitur upsell slicing 5G, tersedia dari Android 14-QPR1, memungkinkan operator menawarkan jaringan yang ditingkatkan (latensi dan bandwidth) kepada pengguna melalui slicing jaringan 5G.
Fitur upsell slicing 5G menggunakan respons TS.43 dari operator server hak untuk mendorong alur pembelian. Operator dapat menggunakan respons untuk tentukan URL untuk webview pembelian operator, kirim data tambahan ke webview, dan menunjukkan apakah slice disediakan dan tersedia di jaringan operator seluler.
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 5G:
Gambar 2. Alur pembelian upsell 5G.
Proses hak TS.43
Saat pengguna mengajukan permintaan untuk kemampuan jaringan yang ditingkatkan, model framework meminta konfigurasi hak layanan untuk kemampuan premium. Jika respons TS.43 valid, framework Telepon menggunakan isian dari respons HTTP untuk mendorong permintaan pembelian.
Kolom pembelian irisan
Konfigurasi hak TS.43 mencakup pembelian slice berikut bidang:
- 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 Telepon menggunakan kombinasi status hak dan untuk menentukan status pembelian slice saat ini. Hasil dapat berupa salah satu dari hal 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 Telepon menampilkan notifikasi upsell ke
pengguna membeli boost melalui webview operator. Tabel berikut
menjelaskan perilaku framework Telepon untuk berbagai kombinasi
pada nilai status penyediaan dan hak.
Status penyediaan | |||||
---|---|---|---|---|---|
Tidak disediakan (0 ) |
Disediakan (1 |
Tidak tersedia (2 ) |
Dalam proses (3 ) |
||
Status hak | Nonaktif (0 ) |
Gagal | Gagal | Gagal | Gagal |
Diaktifkan (1 ) |
Tampilkan webview | Sudah dibeli | Sudah dibeli | Dalam proses | |
Tidak kompatibel (2 ) |
Gagal | Gagal | Gagal | Gagal | |
Penyediaan (3 ) |
Kesalahan ekspedisi | Kesalahan ekspedisi | Dalam proses | Dalam proses | |
Disertakan (4 ) |
Kesalahan ekspedisi | Sudah dibeli | Sudah dibeli | Kesalahan ekspedisi |
Kolom alur layanan
Respons TS.43 menentukan URL, data pengguna, dan jenis konten yang akan disesuaikan
perilaku webview pembelian operator. Jika jenis konten tidak ditentukan,
URL dimuat sebagai permintaan GET. Jika data pengguna ada, data itu ditambahkan ke
URL sebagai parameter kueri (misalnya,
https://www.android.com?encodedValue=Base64EncodedUserData
); dan jika tidak
ada, URL tersebut digunakan sebagaimana adanya (misalnya, https://www.android.com
).
Jika jenis konten ditetapkan dalam format JSON atau XML, URL akan dimuat sebagai
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 ekspedisi
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 int array dari
TelephonyManager.PremiumCapability
Kemampuan premium ini memiliki nilai yang sama dengan kemampuanNetworkCapabilities.NetCapability
. Jika kemampuan premium diminta dan tidak termasuk dalam permintaan pembelian akan gagal denganCARRIER_DISABLED
hasil pengujian tersebut.Di Android 14, hanya
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
didukung.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
Frekuensi maksimum harian notifikasi upsell pembelian ditampilkan pengguna. Jika jumlah maksimum harian terpenuhi, notifikasi upsell tidak ditampilkan dan permintaan pembelian (termasuk permintaan server hak) dibatasi hingga tengah malam di hari berikutnya. Permintaan pembelian yang dibuat setelah batas maksimum harian adalah tercapai akan gagal dengan
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
hasil pengujian tersebut.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) dibatasi hingga hari pertama bulan berikutnya. Permintaan pembelian dibuat setelah nilai maksimum bulanan tercapai akan gagal dengan
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
hasil pengujian tersebut.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
URL pembelian operator cadangan untuk ditampilkan kepada pengguna saat mereka mengklik notifikasi upsell. Jika URL pembelian tidak ditemukan di respons TS.43 dari server hak, nilai ini akan digunakan sebagai gantinya. Jika URL dari respons TS.43 atau konfigurasi operator valid, permintaan pembelian gagal dengan
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED
hasil pengujian tersebut.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL
Apakah mengizinkan kemampuan premium dibeli saat perangkat digunakan yang terhubung ke Long-Term Evolution (LTE). Jika
true
, permintaan pembelian dapat dibuat di LTE dan Radio Baru (NR). Jikafalse
, permintaan pembelian hanya dapat dilakukan di NR dan permintaan yang dilakukan di LTE gagal denganPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
hasil pengujian tersebut.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
Durasi waktu untuk menampilkan notifikasi upsell pembelian kepada pengguna sebelum proses tersebut akan dibatalkan secara otomatis. Ketika pemberitahuan dibatalkan, berikutnya permintaan dibatasi dan gagal dengan
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
hasil pengujian tersebut.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Jumlah waktu bagi permintaan pembelian berikutnya untuk diperlambat setelah kegagalan penggunaan karena waktu tunggu habis atau pembatalan pengguna. Jika pengguna tidak mengeklik pemberitahuan upsell pembelian 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. Meskipun timer ini aktif, permintaan pembelian akan gagal denganPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
hasil pengujian tersebut.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Jumlah waktu bagi permintaan pembelian berikutnya untuk diperlambat setelah karena kerusakan yang disebabkan oleh operator atau jaringan. Jika pemeriksaan hak gagal, URL tidak tersedia, atau URL pembelian ekspedisi menunjukkan kegagalan, backoff ini timer dimulai. Saat timer ini aktif, permintaan pembelian akan gagal dengan tindakan
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
hasil pengujian tersebut.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG
Jumlah waktu saat jaringan harus menyiapkan konfigurasi slicing untuk kapabilitas pembelian premium. Selama periode ini, pembelian berikutnya akan diblokir dan menampilkan
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP
hasil pengujian tersebut. Jika jaringan gagal menyiapkan konfigurasi slicing tepat waktu, aplikasi dapat pelanggan untuk membeli kemampuan premium lagi. Telepon tidak menganggap pembelian selesai sampai 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 ekspedisi ditampilkan kepada pengguna. Operator dapat menggunakan API
yang disediakan dalam
DataBoostWebServiceFlow
Antarmuka JavaScript di situs pembelian mereka untuk berkomunikasi dengan slice
aplikasi pembelian.
Situs operator bisa mendapatkan kemampuan premium yang diminta melalui metode
getRequestedCapability()
.
Jika pembelian berhasil, situs operator harus memberi tahu slice
beli aplikasi melalui notifyPurchaseSuccessful()
atau
notifyPurchaseSuccessful(duration)
dengan duration
sebagai parameter opsional
yang menunjukkan durasi irisan yang diinginkan.
Jika pembelian tidak berhasil, situs operator harus memberi tahu slice
beli aplikasi 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 valid yang dapat dikembalikan oleh situs operator jika gagal 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 memperbarui
Aturan OUR
dengan slice PRIORITIZE_LATENCY
ke perangkat pengguna.