Android 9 memungkinkan operator secara langsung memberikan detail paket yang kredibel kepada pengguna di aplikasi Setelan untuk mengurangi kebingungan pengguna dan panggilan dukungan. Di perangkat yang menjalankan Android 4.0 dan yang lebih baru, pengguna dapat mengonfigurasi detail paket data khusus operator secara manual di aplikasi Setelan, misalnya, menetapkan peringatan dan batas untuk mengelola penggunaan data mereka.
Konfigurasi berdasarkan operator
Untuk mengonfigurasi paket data, operator dapat menambahkan fungsi ke aplikasi Android
yang ada menggunakan
SubscriptionPlan
API.
API ini dirancang untuk mendukung berbagai jenis paket data, termasuk
paket berulang dan tidak berulang, serta paket yang berubah dari waktu ke waktu.
Berikut adalah contoh cara mengonfigurasi jenis paket data umum yang berulang setiap bulan:
SubscriptionManager sm =
context.getSystemService(SubscriptionManager.class);
sm.setSubscriptionPlans(subId, Lists.newArrayList(
SubscriptionPlan.Builder.createRecurringMonthly(
ZonedDateTime.parse("2016-12-03T10:00:00Z"))
.setTitle("G-Mobile")
.setDataLimit(4_000_000_000L,
SubscriptionPlan.LIMIT_BEHAVIOR_BILLED)
.setDataUsage(200_493_293L, dataUsageTimestamp)
.build()));
Perangkat hanya mengizinkan aplikasi mengonfigurasi paket data dalam salah satu kondisi berikut:
- Kartu SIM telah menentukan aplikasi yang dapat mengelolanya secara eksplisit, seperti yang ditentukan oleh
SubscriptionManager.canManageSubscription()
. - Operator telah mengirim nilai
KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING
melaluiCarrierConfigManager
untuk menunjukkan aplikasi mana yang dapat mengelola paket data operator. - Perangkat memiliki aplikasi yang di-build ke dalam image sistem yang memiliki
izin
MANAGE_SUBSCRIPTION_PLANS
.
Dua kondisi pertama memungkinkan aplikasi operator diinstal oleh pengguna, tanpa mengharuskan aplikasi diinstal sebelumnya ke dalam image sistem di pabrik. OS menerapkan (dan CDD mewajibkan) bahwa semua detail paket data yang dikonfigurasi dilindungi dan hanya tersedia untuk aplikasi operator yang awalnya menyediakan detail ke OS.
Salah satu desain yang disarankan adalah aplikasi operator menggunakan layanan pemeliharaan tidak ada aktivitas untuk
memperbarui detail paket data setiap hari, tetapi operator bebas menggunakan berbagai
mekanisme, seperti menerima detail paket data melalui pesan SMS
internal operator. Layanan pemeliharaan saat tidak ada aktivitas paling baik diterapkan dengan
tugas JobScheduler
yang menggunakan
setRequiresDeviceIdle()
dan
setRequiresCharging()
.
Penggunaan berdasarkan OS
OS menggunakan detail paket data yang disediakan oleh SubscriptionPlan API dengan cara berikut:
- Detail paket ditampilkan melalui aplikasi Setelan untuk menampilkan penggunaan data yang akurat kepada pengguna dan memberikan deep link langsung ke aplikasi operator untuk peluang upgrade/upsell.
- Batas notifikasi penggunaan data dan batas notifikasi akan otomatis dikonfigurasi berdasarkan detail paket; peringatan akan disetel ke 90% dari batas.
- Jika operator untuk sementara menunjukkan bahwa jaringan "padat", OS akan menunda tugas JobScheduler yang dapat diubah waktunya, sehingga mengurangi beban di jaringan operator.
- Jika operator untuk sementara menunjukkan bahwa jaringan "tidak berbayar", OS dapat melaporkan koneksi seluler sebagai "tidak berbayar" hingga operator menghapus penggantian, atau hingga nilai waktu tunggu (jika disediakan) tercapai.
- Dengan membandingkan penggunaan data pengguna saat ini dengan batas data secara keseluruhan, OS memperkirakan penggunaan data normal pengguna di akhir siklus penagihan dan mengalokasikan 10% data surplus secara konservatif untuk meningkatkan pengalaman pengguna, misalnya, dengan mengizinkan aplikasi menggunakan data multi-jalur.
Penyesuaian dan validasi
Aplikasi Setelan Android menampilkan semua detail paket data yang dikonfigurasi operator, sehingga memastikan pengguna melihat status hubungan operator yang paling akurat, dan menawarkan jalur ke aplikasi operator untuk mengupgrade paket kepada pengguna. Produsen perangkat yang memilih untuk menyesuaikan aplikasi Setelan direkomendasikan untuk terus menampilkan detail ini.
API SubscriptionManager
yang dijelaskan di halaman ini diuji oleh
android.telephony.cts.SubscriptionManagerTest
, yang memastikan bahwa detail paket data
dapat dikonfigurasi oleh aplikasi operator dan perubahan disebarkan dalam
OS.