Identificazione vettore

I dispositivi con Android 9 possono riconoscere le informazioni sull'operatore di 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 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 che li identificano.

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

Implementazione

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

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

Aggiungere informazioni sull'ID operatore al database

Per aggiungere o aggiornare un ID corriere nel database, invia una richiesta utilizzando il modulo per le informazioni di identificazione del corriere.

La richiesta viene esaminata e, se approvata, la modifica viene inviata al codebase 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:

  • Consente di consolidare tutte le coppie MCC/MNC per ciascun operatore in un'unica posizione,rimuovendo i dati duplicati o incoerenti.
  • Crea un identificatore canonico per ogni corriere e rimuove le ambiguità.
  • Consente agli operatori di rete virtuale mobile (MVNO) di essere identificati con ID individuali anziché avere configurazioni all'interno di un operatore di rete mobile (MNO).

Esegui la migrazione dei dati di configurazione agli ID operatore

Per eseguire la migrazione dei dati di configurazione dalle coppie Centro clienti/MNC agli ID operatore, procedi nel seguente modo:

  1. Raggruppa i file carrier_config_mccmnc.xml di un singolo corriere. 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 telefonia mobile. Gli MVNO ereditano le configurazioni dalle compagnie di telefonia mobile nel file carrier_config_mccmnc.xml precedente. Poiché gli ID operatore consentono a tutti gli operatori, inclusi gli MVNO, di avere un file di configurazione dedicato, è consigliabile includere i dati dell'operatore di rete mobile 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 canonical_id e carriername deve corrispondere a carrier_name in carrier_list.textpb