Identifikation des Trägers

Geräte mit Android 9 können die Informationen des Abonnementanbieters erkennen und eine ID und einen Anbieternamen bereitstellen. Android unterhält eine Netzbetreiber-ID-Datenbank mit Abgleichsregeln für jeden Netzbetreiber und seiner eindeutigen Netzbetreiber-ID. AOSP schließt den Inhalt der Carrier-ID-Datenbank in die Datei carrier_list.textpb ein. Die einheitliche Datenbank minimiert doppelte Logik in Apps, die Netzbetreiber identifizieren müssen, und begrenzt die Offenlegung von Netzbetreiber-identifizierenden Attributen.

Um die Abdeckung und Genauigkeit der Netzbetreiberidentifizierung zu verbessern, unterstützt Android Out-of-Band- und Netzbetreiber-ID-Tabellenaktualisierungen. Jedes Update verfügt über eine Versionsnummer und wird auf AOSP veröffentlicht.

Implementierung

Benutzer, die Out-of-Band-Updates implementieren möchten, können die Binärdatei carrier_list.pb von AOSP herunterladen. Informationen zum lesbaren Format der Tabelle finden Sie unter carrier_list.textpb .

Platzieren Sie die Carrier-ID-Tabelle in der Datenpartition /data/misc/carrierid/ des Geräts. Wenn die Carrier-ID-Tabelle neuer als die vorhandene Version ist, behält das Gerät die Tabelle in der Carrier-ID-Datenbankklasse bei. Die neuesten Informationen aus der Carrier-ID-Datenbank werden von den öffentlichen Methoden getSimCarrierId() und getSimCarrierIdName() abgerufen.

Hinzufügen von Carrier-ID-Informationen zur Datenbank

Um eine Spediteur-ID zur Datenbank hinzuzufügen oder zu aktualisieren, senden Sie eine Anfrage über das Formular „Spediteur-Identifikationsinformationen“ .

Ihre Anfrage wird geprüft und bei Genehmigung wird die Änderung an die AOSP-Codebasis unter carrier_list.pb übertragen. Anschließend können Sie die aktualisierte Liste kopieren und in Ihren benutzerdefinierten Build integrieren.

Integration von Carrier-IDs mit CarrierConfig

Ab Android 10 unterstützt die Netzbetreiberkonfiguration die Verwendung von Netzbetreiber-IDs als Schlüssel zum Abrufen netzbetreiberspezifischer Konfigurationen von CarrierService .

Die Integration von Carrier-IDs mit CarrierConfig bietet folgende Vorteile:

  • Konsolidiert alle MCC/MNC-Paare für jeden Netzbetreiber an einem einzigen Standort und entfernt doppelte oder inkonsistente Daten.
  • Erstellt eine kanonische Kennung für jeden Träger und beseitigt Mehrdeutigkeiten.
  • Ermöglicht die Identifizierung mobiler virtueller Netzwerkbetreiber (MVNOs) mit individuellen IDs, anstatt Konfigurationen als Teil eines mobilen Netzwerkbetreibers (MNO) vorzunehmen.

Konfigurationsdaten werden auf Carrier-IDs migriert

Gehen Sie folgendermaßen vor, um Konfigurationsdaten von MCC/MNC-Paaren zu Carrier-IDs zu migrieren:

  1. Gruppieren Sie die Dateien carrier_config_mccmnc.xml eines einzelnen Netzbetreibers. Verwenden Sie carrier_list.textpb als Referenz, um die MCC-, MNC- und MVNO-Informationen einem bestimmten Netzbetreiber zuzuordnen.

  2. Führen Sie die Konfigurationen in einer einzigen Datei zusammen.

  3. (Optional) Daten von Mobilfunknetzbetreibern übernehmen. MVNOs erben Konfigurationen von MNOs in der alten Datei carrier_config_mccmnc.xml . Da Netzbetreiber-IDs es allen Netzbetreibern, einschließlich MVNOs, ermöglichen, über eine dedizierte Konfigurationsdatei zu verfügen, wird empfohlen, bei der Migration MNO-Daten einzubeziehen.

  4. Wenn die Konfiguration für eine MVNO-Träger-ID nicht vorhanden ist, rufen Sie die Konfiguration mit getCarrierIdFromSimMccMnc von der zugehörigen MNO-Träger-ID ab.

  5. Benennen Sie die neue Datei in carrier_config_carrierid_ carrierid _ carriername .xml um, wobei carrierid “ einer „ canonical_id “ und carriername einem carrier_name in carrier_list.textpb entsprechen muss