Identificazione del vettore

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

Per migliorare la copertura e l'accuratezza dell'identificazione dell'operatore, Android supporta gli aggiornamenti fuori banda e la tabella degli ID dell'operatore. Ogni aggiornamento viene fornito con un numero di versione e viene pubblicato su AOSP.

Implementazione

Gli utenti che desiderano implementare aggiornamenti fuori banda possono scaricare il binario carrier_list.pb da AOSP. Per visualizzare il formato leggibile della tabella, vedere carrier_list.textpb .

Posizionare la tabella dell'ID del vettore nella partizione /data/misc/carrierid/ data del dispositivo. Se la tabella dell'ID del vettore è più recente della versione esistente, il dispositivo mantiene la tabella nella classe del database dell'ID del vettore . Le informazioni più recenti dal database dell'ID vettore vengono raccolte dai metodi pubblici getSimCarrierId() e getSimCarrierIdName() .

Aggiunta delle informazioni sull'ID del vettore al database

Per aggiungere o aggiornare un ID vettore al database, invia una richiesta utilizzando il modulo Informazioni sull'identificazione del vettore .

La tua richiesta viene esaminata e, se approvata, la modifica viene inviata alla codebase AOSP su carrier_list.pb . È quindi possibile copiare l'elenco aggiornato e incorporarlo nella build personalizzata.

Integrazione degli ID vettore con CarrierConfig

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

L'integrazione degli ID vettore con CarrierConfig presenta i seguenti vantaggi:

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

Migrazione dei dati di configurazione agli ID operatore

Per migrare i dati di configurazione dalle coppie MCC/MNC agli ID operatore, attenersi alla seguente procedura:

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

  2. Unisci le configurazioni in un unico file.

  3. (Facoltativo) Eredita i dati dagli MNO. 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 disporre di un file di configurazione dedicato, si consiglia di includere i dati MNO durante la migrazione.

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

  5. Rinominare il nuovo file come carrier_config_carrierid_ carrierid _ carriername .xml dove carrierid deve corrispondere a canonical_id e carriername deve corrispondere a carrier_name in carrier_list.textpb