Identificación del transportista

Los dispositivos que ejecutan Android 9 pueden reconocer la información del operador de suscripción para proporcionar una identificación y un nombre de operador. Android mantiene una base de datos de ID de operador, con reglas coincidentes para cada operador y su ID de operador único. AOSP incluye el contenido de la base de datos de identificación del transportista, en el archivo carrier_list.textpb . La base de datos unificada minimiza la lógica duplicada en las aplicaciones que necesitan identificar a los operadores y limita la exposición de los atributos de identificación del operador.

Para mejorar la cobertura y la precisión de la identificación del operador, Android admite actualizaciones de la tabla de identificación del operador y fuera de banda. Cada actualización viene con un número de versión y se publica en AOSP.

Implementación

Los usuarios que deseen implementar actualizaciones fuera de banda pueden descargar el binario carrier_list.pb de AOSP. Para ver el formato legible de la tabla, consulte carrier_list.textpb .

Coloque la tabla de identificación del operador en la partición /data/misc/carrierid/ data del dispositivo. Si la tabla de ID de operador es más nueva que la versión existente, el dispositivo conserva la tabla en la clase de base de datos de ID de operador . Los métodos públicos getSimCarrierId() y getSimCarrierIdName() recogen la información más reciente de la base de datos de ID de operador.

Agregar información de identificación del operador a la base de datos

Para agregar o actualizar una ID de transportista a la base de datos, envíe una solicitud mediante el formulario de información de identificación de transportista .

Su solicitud se revisa y, si se aprueba, el cambio se envía a la base de código AOSP en carrier_list.pb . A continuación, puede copiar la lista actualizada e incorporarla a su compilación personalizada.

Integración de ID de operadores con CarrierConfig

A partir de Android 10, la configuración del operador admite el uso de ID de operador como claves para obtener configuraciones específicas del operador de CarrierService .

La integración de ID de operador con CarrierConfig tiene las siguientes ventajas:

  • Consolida todos los pares MCC/MNC para cada operador en una sola ubicación eliminando datos duplicados o inconsistentes.
  • Crea un identificador canónico para cada operador y elimina la ambigüedad.
  • Permite que los operadores de redes virtuales móviles (MVNO) se identifiquen con ID individuales en lugar de tener configuraciones como parte de un operador de red móvil (MNO).

Migración de datos de configuración a ID de operador

Para migrar datos de configuración de pares MCC/MNC a ID de operador, siga estos pasos:

  1. Agrupe los archivos carrier_config_mccmnc.xml de un solo operador. Utilice carrier_list.textpb como referencia para asignar la información de MCC, MNC y MVNO a un operador en particular.

  2. Combine las configuraciones en un solo archivo.

  3. (Opcional) Heredar datos de MNO. Los MVNO heredan las configuraciones de los MNO en el archivo carrier_config_mccmnc.xml heredado. Debido a que las ID de operadores permiten que todos los operadores, incluidos los MVNO, tengan un archivo de configuración dedicado, se recomienda incluir datos de MNO durante la migración.

  4. Si la configuración para un Id. de operador de MVNO no existe, obtenga la configuración de su Id. de operador de MNO mediante getCarrierIdFromSimMccMnc .

  5. Cambie el nombre del nuevo archivo como carrier_config_carrierid_ carrierid _ carriername .xml donde carrierid debe corresponder a canonical_id y carriername debe corresponder a carrier_name en carrier_list.textpb