Menerapkan Paket Data

Android 9 memungkinkan operator secara langsung memberikan detail paket resmi kepada pengguna di aplikasi Setelan untuk mengurangi kebingungan pengguna dan panggilan dukungan. Pada perangkat yang menjalankan Android 4.0 dan lebih tinggi, pengguna dapat mengonfigurasi secara manual detail paket data khusus operator di aplikasi Setelan, misalnya, menyetel peringatan dan batasan untuk mengelola penggunaan data mereka.

Konfigurasi berdasarkan Operator

Untuk mengonfigurasi paket data, operator dapat menambahkan fungsionalitas ke aplikasi Android mereka yang sudah ada menggunakan API SubscriptionPlan . API dirancang untuk mendukung berbagai jenis paket data, termasuk paket berulang dan tidak berulang, serta paket yang berubah seiring waktu.

Berikut ini 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 secara eksplisit menentukan aplikasi yang dapat mengelolanya, seperti yang ditentukan oleh SubscriptionManager.canManageSubscription() .
  • Operator telah memasukkan nilai KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING melalui CarrierConfigManager untuk menunjukkan aplikasi mana yang dapat mengelola paket data operator.
  • Perangkat ini memiliki aplikasi bawaan pada citra sistem yang memiliki izin MANAGE_SUBSCRIPTION_PLANS .

Dua kondisi pertama memungkinkan aplikasi operator diinstal oleh pengguna, tanpa mengharuskan aplikasi tersebut diinstal sebelumnya ke image sistem di pabrik. OS memberlakukan (dan CDD mengharuskan) bahwa semua detail paket data yang dikonfigurasi dilindungi dan hanya tersedia untuk aplikasi operator yang awalnya memberikan detail tersebut ke OS.

Salah satu desain yang disarankan adalah agar aplikasi operator menggunakan layanan pemeliharaan yang tidak aktif untuk memperbarui detail paket data setiap hari, namun operator bebas menggunakan berbagai mekanisme, seperti menerima detail paket data melalui pesan SMS internal operator. Layanan pemeliharaan menganggur paling baik diterapkan dengan pekerjaan JobScheduler yang menggunakan setRequiresDeviceIdle() dan setRequiresCharging() .

Penggunaan oleh OS

OS menggunakan detail paket data yang disediakan oleh API SubscriptionPlan dengan cara berikut:

  • Detail paket ditampilkan melalui aplikasi Pengaturan untuk menampilkan penggunaan data yang akurat kepada pengguna dan untuk menyediakan tautan dalam langsung ke aplikasi operator untuk peluang peningkatan/peningkatan penjualan.
  • Peringatan penggunaan data dan ambang batas pemberitahuan dikonfigurasi secara otomatis berdasarkan rincian paket; peringatan disetel ke 90% dari batas.
  • Jika operator untuk sementara waktu menunjukkan bahwa jaringan "macet" , OS akan menunda pekerjaan JobScheduler yang dapat diubah waktunya, sehingga mengurangi beban pada jaringan operator.
  • Jika operator untuk sementara menunjukkan bahwa jaringan "tidak diukur" , OS dapat melaporkan koneksi seluler sebagai "tidak diukur" hingga operator menyelesaikan penggantian, atau hingga nilai batas waktu (jika tersedia) tercapai.
  • Dengan membandingkan penggunaan data pengguna saat ini dengan batas data keseluruhan, OS memperkirakan penggunaan data normal pengguna pada akhir siklus penagihan dan secara konservatif mengalokasikan 10% dari kelebihan data untuk meningkatkan pengalaman pengguna, misalnya, dengan membiarkan aplikasi menggunakan data multi-jalur.

Kustomisasi dan validasi

Aplikasi Setelan Android menampilkan semua detail paket data yang dikonfigurasi oleh operator, memastikan bahwa pengguna melihat status paling akurat dari hubungan operator mereka, dan menawarkan kepada pengguna jalur ke aplikasi operator untuk meningkatkan paket mereka. Produsen perangkat yang memilih untuk menyesuaikan aplikasi Pengaturan disarankan untuk terus menampilkan detail ini.

API SubscriptionManager yang dijelaskan di atas diuji oleh android.telephony.cts.SubscriptionManagerTest , yang memastikan bahwa detail paket data dapat dikonfigurasi oleh aplikasi operator dan perubahan disebarkan dalam OS.