Identificazione dell'operatore

I dispositivi con Android 9 possono riconoscere le informazioni sull'operatore dell'abbonamento per fornire un ID e un nome dell'operatore. Android gestisce un database di ID operatore, con regole di corrispondenza per ogni operatore e il relativo ID operatore univoco. AOSP include i contenuti del database degli ID operatore nel file carrier_list.textpb. Il database unificato riduce al minimo la logica duplicata nelle app che devono identificare gli operatori e limita l'esposizione degli attributi di identificazione degli operatori.

Per migliorare la copertura e l'accuratezza dell'identificazione dell'operatore, Android supporta aggiornamenti out-of-band e della tabella degli ID operatore. Ogni aggiornamento è dotato di un numero di versione e viene pubblicato su AOSP.

Implementazione

Gli utenti che vogliono implementare aggiornamenti out-of-band possono scaricare il carrier_list.pb binario da AOSP. Per visualizzare il formato leggibile della tabella, vedi carrier_list.textpb.

Inserisci la tabella degli ID operatore nella partizione di dati /data/misc/carrierid/ del dispositivo. Se la tabella degli ID operatore è più recente della versione esistente, il dispositivo la salva nella classe del database degli ID operatore. Le informazioni più recenti del database degli ID operatore vengono recuperate dai metodi pubblici getSimCarrierId() e getSimCarrierIdName().

Aggiungere informazioni sull'ID operatore al database

Per aggiungere o aggiornare un ID operatore nel database, invia una richiesta utilizzando il modulo Informazioni di identificazione dell'operatore.

La tua richiesta viene esaminata e, se approvata, la modifica viene inviata al codice AOSP all'indirizzo carrier_list.pb. Puoi quindi copiare l'elenco aggiornato e incorporarlo nella tua build personalizzata.

Integrare gli ID operatore con CarrierConfig

A partire da Android 10, la configurazione dell'operatore supporta l'utilizzo degli ID operatore come chiavi per recuperare le configurazioni specifiche dell'operatore da CarrierService.

L'integrazione degli ID operatore con CarrierConfig offre i seguenti vantaggi:

  • Consolida tutte le coppie MCC/MNC per ogni operatore in un'unica posizione rimuovendo i dati duplicati o incoerenti.
  • Crea un identificatore canonico per ogni operatore e rimuove l'ambiguità.
  • Consente di identificare gli operatori di rete virtuale mobile (MVNO) con ID individuali anziché con configurazioni che fanno parte di un operatore di rete mobile (MNO).

Eseguire la migrazione dei dati di configurazione agli ID operatore

Per eseguire la migrazione dei dati di configurazione dalle coppie MCC/MNC agli ID operatore, segui questi passaggi:

  1. Raggruppa i file carrier_config_mccmnc.xml di un singolo operatore. Utilizza carrier_list.textpb come riferimento per mappare le informazioni su MCC, MNC e MVNO a un determinato operatore.

  2. Unisci le configurazioni in un unico file.

  3. (Facoltativo) Eredita i dati dagli operatori di rete mobile. Gli MVNO ereditano le configurazioni dagli MNO nel file carrier_config_mccmnc.xml legacy. Poiché gli ID operatore consentono a tutti gli operatori, inclusi gli MVNO, di avere un file di configurazione dedicato, è consigliabile includere i dati MNO durante la migrazione.

  4. Se la configurazione per un ID operatore MVNO non esiste, recuperala dall'ID operatore MNO utilizzando getCarrierIdFromSimMccMnc.

  5. Rinomina il nuovo file come carrier_config_carrierid_carrierid_carriername.xml dove carrierid deve corrispondere a un canonical_id e carriername deve corrispondere a un carrier_name in carrier_list.textpb