Menerapkan paket data

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

Konfigurasi menurut 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 seiring waktu.

Berikut 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, sebagaimana ditentukan oleh SubscriptionManager.canManageSubscription().
  • Operator telah mengirimkan nilai KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING melalui CarrierConfigManager untuk menunjukkan aplikasi mana yang dapat mengelola paket data operator.
  • Perangkat memiliki aplikasi bawaan di image 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 menerapkan (dan CDD mewajibkan) agar 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 aplikasi operator menggunakan layanan pemeliharaan saat perangkat tidak digunakan 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 dalam kondisi tidak ada aktivitas sebaiknya diterapkan dengan tugas JobScheduler yang menggunakan setRequiresDeviceIdle() dan setRequiresCharging().

Penggunaan menurut 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 untuk menyediakan deep link langsung ke aplikasi operator untuk peluang upgrade/penjualan.
  • Nilai minimum pemberitahuan batas dan peringatan penggunaan data dikonfigurasi secara otomatis berdasarkan detail paket; peringatan ditetapkan ke 90% dari batas.
  • Jika operator sementara menunjukkan bahwa jaringan sedang "padat", OS akan menunda tugas JobScheduler yang dapat diubah waktunya, sehingga mengurangi beban pada 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 diberikan) tercapai.
  • Dengan membandingkan penggunaan data pengguna saat ini dengan batas data keseluruhan, OS memperkirakan penggunaan data normal pengguna di akhir siklus penagihan dan secara konservatif mengalokasikan 10% dari data surplus 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, memastikan pengguna melihat status paling akurat dari hubungan mereka dengan operator, dan menawarkan jalur bagi pengguna untuk masuk ke aplikasi operator guna mengupgrade paket mereka. Produsen perangkat yang memilih untuk menyesuaikan aplikasi Setelan disarankan 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.