Pemotongan Jaringan 5G

Untuk perangkat yang menjalankan Android 12 atau lebih tinggi, Android menyediakan dukungan untuk pemotongan jaringan 5G, penggunaan virtualisasi jaringan untuk membagi koneksi jaringan tunggal menjadi beberapa koneksi virtual berbeda yang menyediakan jumlah sumber daya berbeda untuk jenis lalu lintas berbeda. Pemotongan jaringan 5G memungkinkan operator jaringan mendedikasikan sebagian jaringannya untuk menyediakan fitur spesifik bagi segmen pelanggan tertentu. Android 12 memperkenalkan kemampuan pemotongan jaringan perusahaan 5G berikut, yang dapat diberikan oleh operator jaringan kepada klien perusahaan mereka:

Pemotongan perangkat perusahaan untuk perangkat yang terkelola sepenuhnya

Untuk perusahaan yang menyediakan perangkat perusahaan yang dikelola sepenuhnya kepada karyawannya, penyedia jaringan dapat memberi mereka satu atau lebih bagian jaringan perusahaan aktif yang menjadi tujuan lalu lintas pada perangkat perusahaan. Mulai Android 12, Android memungkinkan operator menyediakan irisan perusahaan melalui aturan URSP, alih-alih menyiapkan irisan melalui APN.

Pemotongan aplikasi bisnis perusahaan untuk perangkat dengan profil kerja

Untuk perusahaan yang menggunakan solusi profil kerja , Android 12 memungkinkan perangkat merutekan lalu lintas dari semua aplikasi di profil kerja ke bagian jaringan perusahaan. Perusahaan dapat mengaktifkan kemampuan ini melalui Device Policy Controller (DPC) .

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

Cara kerja pemotongan jaringan 5G di AOSP

Android 12 memperkenalkan dukungan untuk pemotongan jaringan 5G melalui penambahan basis kode telepon di AOSP dan modul Tethering untuk menggabungkan API konektivitas yang ada yang diperlukan untuk pemotongan jaringan.

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

Komponen pengiris jaringan 5G

Gambar 1. Arsitektur slicing jaringan 5G di AOSP.

Platform telepon dan konektivitas mendukung:

  • Mengubah permintaan jaringan untuk kategori irisan menjadi deskriptor lalu lintas yang kemudian diteruskan ke modem untuk pencocokan lalu lintas URSP dan pemilihan rute
  • Kembali ke jaringan default jika potongan jaringan perusahaan tidak tersedia
  • Merutekan lalu lintas dari semua aplikasi pada profil kerja ke koneksi yang sesuai
  • Mendukung pemotongan perusahaan

    • Mendeteksi keberadaan profil kerja di perangkat
    • Memeriksa izin atau arahan perutean yang diberikan dari DPC yang digunakan oleh admin TI perusahaan

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

  • Menambahkan sebagian besar kelas API publik atau sistem android.net.* ke modul Tethering
  • Memperluas batasan modul Tethering untuk 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 keluar 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 bagian perusahaan"; diperkenalkan di Android 12)
  • Mengirim permintaan dari sistem ke kode telepon yang mencoba mengatur jaringan atau irisan melalui HAL API dan modem
  • Memberi tahu netd cara merutekan lalu lintas berdasarkan aplikasi (diperkenalkan di Android 12)
  • Memberi tahu aplikasi apa yang terjadi pada lalu lintas jaringannya melalui ConnectivityManager API seperti NetworkCallback , getActiveNetwork , getNetworkCapabilities .

Penerapan

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

  • trafficDescriptor : Menentukan deskriptor lalu lintas yang dikirim ke modem
  • sliceInfo : Menentukan informasi untuk potongan jaringan yang akan digunakan jika terjadi penyerahan EPDG ke 5G
  • matchAllRuleAllowed : Menentukan apakah penggunaan aturan URSP cocokkan semua default diperbolehkan. Teleponi menetapkan ini berlaku untuk jaringan default tetapi tidak untuk irisan. Aturan cocokkan semua diterapkan pada jaringan default. Ketika aplikasi meminta potongan tertentu yang tidak tersedia, potongan tertentu tersebut dilaporkan sebagai tidak tersedia. Untuk aplikasi perusahaan, kerangka Teleponi dapat kembali ke jaringan default jika jaringan perusahaan tidak tersedia.

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

Persyaratan perusahaan

Berikut ini penjelasan persyaratan bagi perusahaan untuk menggunakan pemotongan jaringan 5G pada perangkat yang menerapkan Android enterprise.

  • Pastikan perangkat yang dikelola sepenuhnya atau perangkat karyawan yang disiapkan dengan profil kerja berkemampuan 5G SA dengan modem yang mendukung API setupDataCall_1_6 .
  • Bekerja sama dengan mitra operator dalam penyiapan irisan dan kinerja atau karakteristik SLA.

Mengaktifkan pemotongan 5G pada perangkat yang dikonfigurasi 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 perutean lalu lintas aplikasi profil kerja ke potongan jaringan perusahaan berdasarkan per karyawan melalui EMM DPC, yang menggunakan metode setPreferentialNetworkServiceEnabled di DevicePolicyManager (DPM) API (diperkenalkan di Android 12).

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

Aturan URSP

Bagian ini mencakup informasi bagi operator tentang cara mengonfigurasi aturan URSP untuk berbagai kategori irisan termasuk perusahaan, CBS, latensi rendah, dan lalu lintas bandwidth tinggi. Saat mengonfigurasi aturan URSP untuk kategori irisan yang berbeda, operator harus menggunakan nilai khusus Android berikut.

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

Operator harus mengonfigurasi aturan URSP untuk setiap lalu lintas irisan dengan komponen deskriptor lalu lintas sebagai "Id OS + Jenis Id Aplikasi OS". Misalnya, potongan "ENTERPRISE" harus memiliki nilai 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . Nilai ini merupakan gabungan dari OSId, panjang OSAppId ( 0x0A ), dan OSAppId. Untuk informasi lebih lanjut tentang jenis komponen deskriptor lalu lintas, lihat 3GPP TS 24.526 Tabel 5.2.1 .

Tabel berikut menjelaskan nilai OSAppId untuk kategori potongan yang berbeda.

Kategori irisan OSAppId Keterangan
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_LATENSI 0x5052494f524954495a455f4c4154454e4359 OSAppId adalah representasi array byte dari string "PRIORITIZE_LATENCY"
PRIORITAS_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 lalu lintas default.

Perusahaan 1

Dukungan untuk Perusahaan 1 tersedia di Android 12 dan lebih tinggi. Berikut ini adalah contoh aturan URSP untuk lalu lintas ENTERPRISE1:

Aturan URSP #1 (perusahaan1)
Hak lebih tinggi 1 (0x01)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN perusahaan

Perusahaan 2

Dukungan untuk Enterprise 2 tersedia di Android 13 dan lebih tinggi. Berikut ini adalah contoh aturan URSP untuk lalu lintas ENTERPRISE2:

Aturan URSP #2 (perusahaan2)
Hak lebih tinggi 2 (0x02)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan2
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN perusahaan2

Perusahaan 3

Dukungan untuk Enterprise 3 tersedia di Android 13 dan lebih tinggi. Berikut ini adalah contoh aturan URSP untuk lalu lintas ENTERPRISE3:

Aturan URSP #3 (perusahaan3)
Hak lebih tinggi 3 (0x03)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan3
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN perusahaan3

Perusahaan 4

Dukungan untuk Enterprise 4 tersedia di Android 13 dan lebih tinggi. Berikut ini adalah contoh aturan URSP untuk lalu lintas ENTERPRISE4:

Aturan URSP #4 (perusahaan4)
Hak lebih tinggi 4 (0x04)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan4
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN perusahaan4

Perusahaan 5

Dukungan untuk Enterprise 5 tersedia di Android 13 dan lebih tinggi. Berikut ini adalah contoh aturan URSP untuk lalu lintas ENTERPRISE5:

Aturan URSP #5 (perusahaan5)
Hak lebih tinggi 5 (0x05)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN perusahaan5
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN perusahaan5

CBS

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

Aturan URSP #6 (CBS)
Hak lebih tinggi 6 (0x06)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E4703434253
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN cbs
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN cbs

Latensi rendah

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

Aturan URSP #7 (latensi rendah)
Hak lebih tinggi 7 (0x07)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN latensi
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN latensi

Bandwidth tinggi

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

Aturan URSP #8 (bandwidth tinggi)
Hak lebih tinggi 8 (0x08)
Deskriptor lalu lintas #1
Id OS + Jenis Id Aplikasi OS 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Deskriptor pemilihan rute #1
Hak lebih tinggi 1 (0x01)
Komponen #1: S-NSSAI SST:XX SD:YYYYYY
Komponen #2: DNN lebar pita
Deskriptor pemilihan rute #2
Hak lebih tinggi 2 (0x02)
Komponen #1: DNN lebar pita

Bawaan

Aturan URSP #9 (default)
Hak lebih tinggi 9 (0x09)
Deskriptor lalu lintas #1
cocok untuk semua T/A
Deskriptor pemilihan rute #1
Hak lebih tinggi 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 deskriptor pemilihan rute yang sesuai memetakan kategori perusahaan ke bagian perusahaan; dan aturan default yang mengarahkan lalu lintas ke potongan internet default.

  2. Pastikan profil kerja dikonfigurasi pada perangkat.

  3. Ikut serta untuk menggunakan pemotongan jaringan melalui DPC

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

  1. Verifikasi bahwa sesi PDU dibuat dengan bagian perusahaan (misalnya, dengan menggunakan alamat IP tertentu) dan aplikasi di profil kerja menggunakan sesi PDU tersebut.
  2. Verifikasi bahwa sesi PDU terpisah dibuat dengan potongan internet default dan aplikasi di profil pribadi menggunakan sesi PDU.

5G mengiris penjualan

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

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

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

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

Gambar 2 menunjukkan alur pembelian upsell yang mengiris 5G:

5G memotong aliran pembelian upsell

Gambar 2. Aliran pembelian upsell pemotongan 5G.

Proses pemberian hak TS.43

Ketika pengguna membuat permintaan untuk meningkatkan kemampuan jaringan, kerangka Telephony meminta konfigurasi hak layanan untuk kemampuan premium yang diminta. Jika respons TS.43 valid, kerangka Telephony menggunakan bidang dari respons HTTP untuk mendorong permintaan pembelian.

Iris bidang pembelian

Konfigurasi kepemilikan TS.43 mencakup bidang pembelian potongan berikut:

Status hak

Kunci: EntitlementStatus

Jenis: int

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

Status penyediaan

Kunci: ProvStatus

Jenis: int

Nilai yang didukung: 0 (tidak tersedia), 1 (tersedia), 2 (tidak tersedia), 3 (sedang berlangsung)

Kerangka kerja Telephony menggunakan kombinasi status pemberian hak dan status penyediaan untuk menentukan status pembelian potongan saat ini. Hasilnya dapat berupa salah satu dari berikut ini:

Jika status penetapan adalah 1 (diaktifkan) dan status penyediaan adalah 0 (tidak disediakan), kerangka Teleponi menampilkan pemberitahuan upsell kepada pengguna untuk membeli peningkatan melalui tampilan web operator. Tabel berikut menjelaskan perilaku kerangka Teleponi untuk berbagai kombinasi nilai status penyediaan dan pemberian hak.

Status penyediaan
Tidak disediakan ( 0 ) Disediakan ( 1 ) 1 ) Tidak tersedia ( 2 ) Sedang berlangsung ( 3 )
Status hak Dinonaktifkan ( 0 ) Gagal Gagal Gagal Gagal
Diaktifkan ( 1 ) Tampilkan tampilan web Telah dibeli Telah dibeli Sedang berlangsung
Tidak kompatibel ( 2 ) Gagal Gagal Gagal Gagal
Penyediaan ( 3 ) Kesalahan operator Kesalahan operator Sedang berlangsung Sedang berlangsung
Termasuk ( 4 ) Kesalahan operator Telah dibeli Telah dibeli Kesalahan operator

Bidang aliran layanan

Respons TS.43 menentukan URL, data pengguna, dan jenis konten untuk menyesuaikan perilaku tampilan web pembelian operator. Jika tipe konten tidak ditentukan, URL 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-nya digunakan apa adanya (misalnya https://www.android.com ).
Jika tipe konten ditentukan dalam format JSON atau XML, URL dimuat sebagai permintaan POST, dan data pengguna (didekode jika dikodekan dalam Base 64) dikirim sebagai data untuk permintaan POST.

URL

Kunci: ServiceFlow_URL

Jenis: String

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

Data pengguna

Kunci: ServiceFlow_UserData

Jenis: String

Contoh: "encodedValue=Base64EncodedUserData"

Jenis konten

Kunci: ServiceFlow_ContentsType

Jenis: String

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

Konfigurasi operator

Berikut ini adalah konfigurasi operator yang tersedia untuk menyesuaikan perilaku fitur slicing upsell 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 kelas NetworkCapabilities.NetCapability yang terkait. 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 maksimum harian terpenuhi, notifikasi upsell tidak ditampilkan dan permintaan pembelian (termasuk permintaan server hak) dibatasi hingga tengah malam pada hari berikutnya. Permintaan pembelian yang dilakukan setelah maksimum harian tercapai gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Frekuensi maksimum bulanan pemberitahuan peningkatan penjualan yang ditampilkan kepada pengguna. Jika maksimum bulanan terpenuhi, pemberitahuan peningkatan penjualan tidak ditampilkan dan permintaan pembelian (termasuk permintaan server hak) dibatasi hingga hari pertama bulan berikutnya. Permintaan pembelian yang dilakukan setelah batas maksimum bulanan tercapai 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 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 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

Jumlah waktu untuk menampilkan notifikasi pembelian upsell kepada pengguna sebelum dibatalkan secara otomatis. Ketika pemberitahuan dibatalkan, permintaan berikutnya dibatasi dan gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Jumlah waktu yang harus dibatasi pada permintaan pembelian berikutnya setelah kegagalan karena waktu habis atau pembatalan pengguna. Jika pengguna tidak mengklik notifikasi pembelian upsell dalam batas waktu yang ditentukan oleh KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG atau jika mereka membatalkan atau menutup notifikasi, pengatur waktu backoff ini akan dimulai. Saat pengatur waktu ini aktif, permintaan pembelian gagal dengan hasil PURCHASE_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, pengatur waktu backoff ini akan dimulai. Saat pengatur waktu ini aktif, permintaan pembelian gagal dengan hasil PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Jumlah waktu yang diperlukan jaringan untuk menyiapkan konfigurasi pemotongan untuk kemampuan pembelian premium. Selama periode ini, permintaan pembelian berikutnya diblokir dan mengembalikan 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 sampai konfigurasi pemotongan yang sesuai dikirim, terlepas dari apakah pengguna membayar operator atau tidak.

Antarmuka Javascript

Saat pengguna mengklik pemberitahuan peningkatan jaringan, objek WebView dengan URL pembelian operator ditampilkan kepada pengguna. Operator dapat menggunakan API yang disediakan di antarmuka Javascript DataBoostWebServiceFlow di situs web pembelian mereka untuk berkomunikasi dengan aplikasi pembelian potongan.

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

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

Jika pembelian tidak berhasil, situs web operator harus memberi tahu aplikasi pembelian potongan 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 dari metode respons ini tidak dipanggil, pembelian tidak akan dianggap selesai dan permintaan pembelian akhirnya habis waktu.

Berikut ini adalah kode kegagalan valid yang dapat dikembalikan oleh situs web operator jika terjadi kegagalan pembelian:

Ketika pembelian selesai, operator harus memperbarui aturan URSP dengan potongan PRIORITIZE_LATENCY ke perangkat pengguna.