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.
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 sepertiNetworkCallback
,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 modemsliceInfo
: Menentukan informasi untuk slice jaringan yang akan digunakan dalam kasus handover EPDG ke 5GmatchAllRuleAllowed
: 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:
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.
Memastikan profil kerja dikonfigurasi di perangkat.
Ikut serta untuk menggunakan slicing jaringan melalui DPC
Untuk menguji perilaku pemotongan jaringan 5G, lakukan hal berikut:
- Pastikan sesi PDU dibuat dengan slice perusahaan (misalnya, menggunakan alamat IP spesifik) 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.
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:
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:
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 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 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
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). Jikafalse
, permintaan pembelian hanya dapat dilakukan di NR dan permintaan yang dilakukan di LTE gagal dengan hasilPURCHASE_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 hasilPURCHASE_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:
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 URSP
dengan slice PRIORITIZE_LATENCY
ke perangkat pengguna.