Identyfikacja operatora

Urządzenia z Androidem 9 mogą rozpoznawać informacje o subskrypcji operatora, aby udostępnić identyfikator i nazwę operatora. Android zarządza bazą danych identyfikatorów operatorów z zasadami dopasowywania dla każdego operatora i jego unikalnego identyfikatora. AOSP zawiera zawartość bazy danych identyfikatorów operatora w pliku carrier_list.textpb. Połączona baza danych minimalizuje duplikowanie logiki w aplikacjach, które muszą identyfikować operatorów, i ogranicza ekspozycję atrybutów identyfikujących operatora.

Aby zwiększyć zasięg i dokładność identyfikacji operatora, Android obsługuje aktualizacje poza pasmem i tabeli identyfikatora operatora. Każda aktualizacja ma numer wersji i jest publikowana w AOSP.

Implementacja

Użytkownicy, którzy chcą wdrażać aktualizacje poza pasmem, mogą pobrać binarne pliki carrier_list.pbz AOSP. Aby wyświetlić czytelną wersję tabeli, przejdź do sekcji carrier_list.textpb.

Umieść tabelę identyfikatorów operatora na partycji danych /data/misc/carrierid/ urządzenia. Jeśli tabela identyfikatora operatora jest nowsza niż jej obecna wersja, urządzenie zapisuje ją w klasie bazy danych identyfikatora operatora. Najnowsze informacje z bazy danych identyfikatorów przewoźnika są pobierane przez metody publiczne getSimCarrierId() i getSimCarrierIdName().

Dodawanie informacji o identyfikatorze operatora do bazy danych

Aby dodać lub zaktualizować identyfikator przewoźnika w bazie danych, prześlij prośbę za pomocą formularza identyfikacji przewoźnika.

Twoja prośba zostanie sprawdzona, a jeśli zostanie zatwierdzona, zmiany zostaną przesłane do bazy kodu AOSP pod adresem carrier_list.pb. Następnie możesz skopiować zaktualizowaną listę i umieścić ją w swoim niestandardowym kompilacji.

Integracja identyfikatorów operatora z CarrierConfig

Od Androida 10 konfiguracja operatora obsługuje identyfikatory operatorów jako klucze do pobierania konfiguracji dotyczących poszczególnych operatorów z CarrierService.

Integracja identyfikatorów operatora z CarrierConfig ma te zalety:

  • konsoliduje wszystkie pary MCC/MNC dla każdego operatora w jednym miejscu, usuwając duplikaty lub niespójne dane.
  • Tworzy kanoniczny identyfikator dla każdego operatora i eliminuje niejednoznaczność.
  • Umożliwia operatorom wirtualnych sieci komórkowych (MVNO) identyfikowanie się za pomocą indywidualnych identyfikatorów zamiast konfiguracji w ramach operatora sieci komórkowej (MNO).

Migracja danych konfiguracji do identyfikatorów operatora

Aby przenieść dane konfiguracji z par MCC/MNC do identyfikatorów operatora:

  1. Zgrupuj pliki carrier_config_mccmnc.xml od jednego operatora. Użyj wartości carrier_list.textpb jako odniesienia do zmapowania informacji o MCC, MNC i MVNO do konkretnego operatora.

  2. scalić konfiguracje w jeden plik.

  3. (Opcjonalnie) Dziedziczenie danych z MNO. MVNO dziedziczą konfiguracje z MNO w starszym pliku carrier_config_mccmnc.xml. Identyfikatory operatorów umożliwiają wszystkim operatorom, w tym MVNO, korzystanie z dedykowanego pliku konfiguracyjnego, dlatego zalecamy uwzględnienie danych MNO podczas migracji.

  4. Jeśli konfiguracja dla identyfikatora MVNO nie istnieje, pobierz konfigurację z identyfikatora MNO za pomocą getCarrierIdFromSimMccMnc.

  5. Zmień nazwę nowego pliku na carrier_config_carrierid_carrierid_carriername.xml, gdzie carrierid musi odpowiadać canonical_id, a carriername musi odpowiadać carrier_name w carrier_list.textpb.