Identyfikacja przewoźnika

Urządzenia z systemem Android 9 mogą rozpoznawać informacje o operatorze subskrypcji w celu zapewnienia identyfikatora i nazwy operatora. Android utrzymuje bazę danych identyfikatorów przewoźników zawierającą reguły dopasowywania dla każdego operatora i jego unikalny identyfikator operatora. AOSP zawiera zawartość bazy danych identyfikatorów przewoźników w pliku carrier_list.textpb . Ujednolicona baza danych minimalizuje powielanie logiki w aplikacjach, które muszą identyfikować operatorów, i ogranicza ekspozycję atrybutów identyfikujących przewoźników.

Aby poprawić zasięg i dokładność identyfikacji operatora, Android obsługuje aktualizacje tabel pozapasmowych i identyfikatorów operatorów. Każda aktualizacja ma numer wersji i jest publikowana w AOSP.

Realizacja

Użytkownicy, którzy chcą wdrożyć aktualizacje poza pasmem, mogą pobrać plik binarny carrier_list.pb z AOSP. Aby wyświetlić czytelny format tabeli, zobacz carrier_list.textpb .

Umieść tabelę identyfikatorów przewoźników na partycji /data/misc/carrierid/ data urządzenia. Jeśli tabela identyfikatorów przewoźników jest nowsza niż istniejąca wersja, urządzenie utrwala tę tabelę w klasie bazy danych identyfikatorów przewoźników . Najnowsze informacje z bazy identyfikatorów przewoźników pobierane są za pomocą publicznych metod getSimCarrierId() i getSimCarrierIdName() .

Dodawanie informacji o identyfikatorze przewoźnika do bazy danych

Aby dodać lub zaktualizować identyfikator przewoźnika do bazy danych, złóż wniosek za pomocą formularza danych identyfikacyjnych przewoźnika .

Twoja prośba zostanie rozpatrzona i jeśli zostanie zatwierdzona, zmiana zostanie przekazana do bazy kodu AOSP pod carrier_list.pb . Następnie możesz skopiować zaktualizowaną listę i włączyć ją do dostosowanej kompilacji.

Integracja identyfikatorów przewoźników z CarrierConfig

Począwszy od Androida 10, konfiguracja operatora obsługuje używanie identyfikatorów przewoźników jako kluczy do pobierania konfiguracji specyficznych dla operatora z CarrierService .

Integracja identyfikatorów przewoźników z CarrierConfig ma następujące zalety:

  • Konsoliduje wszystkie pary MCC/MNC dla każdego przewoźnika w jedną lokalizację, usuwając zduplikowane lub niespójne dane.
  • Tworzy kanoniczny identyfikator dla każdego przewoźnika i usuwa niejednoznaczności.
  • Umożliwia identyfikację operatorów wirtualnych sieci komórkowych (MVNO) za pomocą indywidualnych identyfikatorów zamiast konfiguracji w ramach operatora sieci komórkowej (MNO).

Migracja danych konfiguracyjnych do identyfikatorów przewoźników

Aby przeprowadzić migrację danych konfiguracyjnych z par MCC/MNC do identyfikatorów przewoźników, wykonaj następujące kroki:

  1. Zgrupuj pliki carrier_config_mccmnc.xml z jednego przewoźnika. Użyj pliku carrier_list.textpb jako odniesienia do mapowania informacji MCC, MNC i MVNO na konkretnego przewoźnika.

  2. Scal konfiguracje w jeden plik.

  3. (Opcjonalnie) Dziedzicz dane od operatorów MNO. MVNO dziedziczą konfiguracje od MNO w starszym pliku carrier_config_mccmnc.xml . Ponieważ identyfikatory operatorów umożliwiają wszystkim operatorom, w tym MVNO, posiadanie dedykowanego pliku konfiguracyjnego, zaleca się uwzględnienie danych MNO podczas migracji.

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

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