Identifizierung des Mobilfunkanbieters

Geräte mit Android 9 können Informationen zum Aboanbieter erkennen, um eine ID und den Namen des Mobilfunkanbieters bereitzustellen. Android hat eine Datenbank für Mobilfunkbetreiber-IDs mit Abgleichsregeln für jeden Mobilfunkanbieter und seiner eindeutigen Betreiber-ID. AOSP enthält den Inhalt der Mobilfunkanbieter-ID-Datenbank in der Datei carrier_list.textpb. Die einheitliche Datenbank minimiert doppelte Logik in Anwendungen, die Mobilfunkanbieter identifizieren müssen, und begrenzt die Offenlegung von Attributen, die Mobilfunkanbieter identifizieren.

Um die Abdeckung und Genauigkeit der Mobilfunkanbietererkennung zu verbessern, unterstützt Android Out-of-Band- und Mobilfunkanbieter-ID-Tabellenupdates. Jedes Update hat eine Versionsnummer und wird im AOSP veröffentlicht.

Implementierung

Nutzer, die Out-of-Band-Updates implementieren möchten, können das Binärprogramm carrier_list.pb von AOSP herunterladen. Das lesbare Format der Tabelle finden Sie unter carrier_list.textpb.

Platzieren Sie die Tabelle mit der Mobilfunkanbieter-ID in der Datenpartition /data/misc/carrierid/ des Geräts. Wenn die Tabelle mit der Mobilfunkanbieter-ID neuer als die vorhandene Version ist, speichert das Gerät die Tabelle in der Datenbankklasse für Mobilfunkanbieter-IDs. Die neuesten Informationen aus der ID-Datenbank des Transportunternehmens werden von den öffentlichen Methoden getSimCarrierId() und getSimCarrierIdName() abgerufen.

Informationen zur Mobilfunkanbieter-ID in die Datenbank einfügen

Wenn Sie der Datenbank eine Mobilfunkanbieter-ID hinzufügen oder aktualisieren möchten, reichen Sie einen Antrag über das Antragsformular für Mobilfunkanbieter-IDs ein.

Ihre Anfrage wird geprüft. Wenn sie genehmigt wird, wird die Änderung an die AOSP-Codebasis carrier_list.pb übertragen. Anschließend können Sie die aktualisierte Liste kopieren und in Ihren benutzerdefinierten Build einbinden.

Mobilfunkanbieter-IDs in CarrierConfig einbinden

Ab Android 10 unterstützt die Konfiguration des Mobilfunkanbieters die Verwendung von Anbieter-IDs als Schlüssel, um anbieterspezifische Konfigurationen von CarrierService abzurufen.

Die Integration von Mobilfunkanbieter-IDs in CarrierConfig bietet folgende Vorteile:

  • Alle MCC/MNC-Paare für jeden Mobilfunkanbieter werden an einem einzigen Ort zusammengeführt und doppelte oder inkonsistente Daten werden entfernt.
  • Erstellt eine kanonische Kennung für jeden Mobilfunkanbieter und beseitigt Unklarheiten.
  • Ermöglicht es, Mobilfunkanbieter mit individuellen IDs zu identifizieren, anstatt Konfigurationen als Teil eines Mobilfunkanbieters zu verwenden.

Konfigurationsdaten zu Mobilfunkanbieter-IDs migrieren

So migrieren Sie Konfigurationsdaten von MCC/MNC-Paaren zu Mobilfunkanbieter-IDs:

  1. Gruppieren Sie die carrier_config_mccmnc.xml-Dateien eines einzelnen Mobilfunkanbieters. Verwenden Sie carrier_list.textpb als Referenz, um die Informationen zu Mobilfunkanbieter, Mobilfunknetzbetreiber und Mobilfunkanbieter ohne Vertrag einem bestimmten Mobilfunkanbieter zuzuordnen.

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

  3. Optional: Daten von Mobilfunkanbietern übernehmen. MVNOs übernehmen Konfigurationen von Mobilfunkanbietern in der alten carrier_config_mccmnc.xml-Datei. Da Anbieter-IDs es allen Mobilfunkanbietern, einschließlich Mobilfunkdiscountern ermöglichen, eine eigene Konfigurationsdatei zu haben, wird empfohlen, MNO-Daten bei der Migration einzubeziehen.

  4. Wenn die Konfiguration für eine MVNO-Mobilfunkanbieter-ID nicht vorhanden ist, holen Sie die Konfiguration mit getCarrierIdFromSimMccMnc über die MNO-Mobilfunkanbieter-ID ab.

  5. Benennen Sie die neue Datei in carrier_config_carrierid_carrierid_carriername.xml um. Dabei muss carrierid einem canonical_id und carriername einem carrier_name in carrier_list.textpb entsprechen.