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 del operador. Android mantiene una base de datos de ID de operador, con reglas de coincidencia para cada operador y su ID de operador única. AOSP incluye el contenido de la base de datos de ID del operador, en el archivo carrier_list.textpb . La base de datos unificada minimiza la lógica duplicada en aplicaciones que necesitan identificar operadores y limita la exposición de los atributos que identifican a los operadores.

Para mejorar la cobertura y la precisión de la identificación del operador, Android admite actualizaciones de tablas de ID de 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 quieran implementar actualizaciones fuera de banda pueden descargar el binario carrier_list.pb desde AOSP. Para ver el formato legible de la tabla, consulte carrier_list.textpb .

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

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

Para agregar o actualizar la identificación de un operador a la base de datos, envíe una solicitud utilizando el formulario de información de identificación del operador .

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

Integración de ID de operador 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 desde 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 identificar a los operadores de redes virtuales móviles (MVNO) con ID individuales en lugar de tener configuraciones como parte de un operador de redes móviles (MNO).

Migrar 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 único operador. Utilice carrier_list.textpb como referencia para asignar la información de MCC, MNC y MVNO a un operador en particular.

  2. Fusione las configuraciones en un solo archivo.

  3. (Opcional) Heredar datos de MNO. Los MVNO heredan configuraciones de los MNO en el archivo heredado carrier_config_mccmnc.xml . Debido a que los ID de operador 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 MVNO no existe, obtenga la configuración de su ID de operador MNO usando getCarrierIdFromSimMccMnc .

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