Identifikasi operator

Perangkat yang menjalankan Android 9 dapat mengenali informasi operator langganan untuk memberikan ID dan nama operator. Android mengelola database ID operator, dengan aturan pencocokan untuk setiap operator dan ID operator uniknya. AOSP menyertakan konten database ID operator, dalam file carrier_list.textpb. Database terpadu meminimalkan logika duplikat di aplikasi yang perlu mengidentifikasi operator dan membatasi eksposur atribut yang mengidentifikasi operator.

Untuk meningkatkan cakupan dan akurasi identifikasi operator, Android mendukung update di luar band dan tabel ID operator. Setiap update dilengkapi dengan nomor versi dan dipublikasikan ke AOSP.

Implementasi

Pengguna yang ingin menerapkan update di luar band dapat mendownload biner carrier_list.pb dari AOSP. Untuk melihat format tabel yang mudah dibaca, lihat carrier_list.textpb.

Tempatkan tabel ID operator di partisi data /data/misc/carrierid/ perangkat. Jika tabel ID operator lebih baru dari versi yang ada, perangkat akan menyimpan tabel ke class database ID operator. Informasi terbaru dari database ID operator diambil oleh metode publik getSimCarrierId() dan getSimCarrierIdName().

Menambahkan informasi ID operator ke database

Untuk menambahkan atau memperbarui ID operator ke database, kirim permintaan menggunakan Formulir informasi identifikasi operator.

Permintaan Anda akan ditinjau dan jika disetujui, perubahan akan dikirim ke basis kode AOSP di carrier_list.pb. Kemudian, Anda dapat menyalin daftar yang diperbarui dan menggabungkannya ke dalam build yang disesuaikan.

Mengintegrasikan ID operator dengan CarrierConfig

Mulai dari Android 10, konfigurasi operator mendukung penggunaan ID operator sebagai kunci untuk mengambil konfigurasi khusus operator dari CarrierService.

Mengintegrasikan ID operator dengan CarrierConfig memiliki keuntungan berikut:

  • Menggabungkan semua pasangan MCC/MNC untuk setiap operator ke dalam satu lokasi dengan menghapus data duplikat atau tidak konsisten.
  • Membuat ID kanonis untuk setiap ekspedisi dan menghilangkan ambiguitas.
  • Memungkinkan operator jaringan virtual seluler (MVNO) diidentifikasi dengan ID individual, bukan memiliki konfigurasi sebagai bagian dari operator jaringan seluler (MNO).

Memigrasikan data konfigurasi ke ID operator

Untuk memigrasikan data konfigurasi dari pasangan MCC/MNC ke ID operator, ikuti langkah-langkah berikut:

  1. Kelompokkan file carrier_config_mccmnc.xml dari satu operator. Gunakan carrier_list.textpb sebagai referensi untuk memetakan informasi MCC, MNC, dan MVNO ke operator tertentu.

  2. Gabungkan konfigurasi ke dalam satu file.

  3. (Opsional) Mewarisi data dari MNO. MVNO mewarisi konfigurasi dari MNO di file carrier_config_mccmnc.xml lama. Karena ID operator memungkinkan semua operator, termasuk MVNO, memiliki file konfigurasi khusus, sebaiknya sertakan data MNO selama migrasi.

  4. Jika konfigurasi untuk ID operator MVNO tidak ada, ambil konfigurasi dari ID operator MNO-nya menggunakan getCarrierIdFromSimMccMnc.

  5. Ganti nama file baru menjadi carrier_config_carrierid_carrierid_carriername.xml dengan carrierid harus sesuai dengan canonical_id dan carriername harus sesuai dengan carrier_name di carrier_list.textpb