Identificación del operador

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

Para mejorar la cobertura y la precisión de la identificación del operador, Android admite actualizaciones fuera de banda y de la tabla de ID del operador. Cada actualización incluye 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 archivo binario carrier_list.pb del AOSP. Para ver el formato legible de la tabla, consulta carrier_list.textpb.

Coloca la tabla de ID de operador en la partición de datos /data/misc/carrierid/ del dispositivo. Si la tabla de ID de operador es más reciente que la versión existente, el dispositivo la persiste en la clase de base de datos de ID de operador. Los métodos públicos getSimCarrierId() y getSimCarrierIdName() recuperan la información más reciente de la base de datos de IDs de empresas de transporte.

Agrega información del ID de la empresa de telefonía celular a la base de datos

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

Se revisará tu solicitud y, si se aprueba, el cambio se enviará a la base de código del AOSP en carrier_list.pb. Luego, puedes copiar la lista actualizada e incorporarla a tu compilación personalizada.

Integra IDs de empresas de transporte con CarrierConfig

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

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

  • Consolida todos los pares de MCC/MNC para cada operador en una sola ubicación, lo que quita los datos duplicados o incoherentes.
  • 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 IDs individuales en lugar de tener configuraciones como parte de un operador de redes móviles (MNO).

Migra los datos de configuración a los IDs de operador

Para migrar los datos de configuración de los pares MCC/MNC a los IDs de operador, sigue estos pasos:

  1. Agrupa los archivos carrier_config_mccmnc.xml de un solo operador. Usa carrier_list.textpb como referencia para asignar la información de MCC, MNC y MVNO a un operador específico.

  2. Combina los parámetros de configuración en un solo archivo.

  3. (Opcional) Hereda datos de los OMN. Los MVNO heredan la configuración de los MNO en el archivo carrier_config_mccmnc.xml heredado. Dado que los IDs 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 no existe la configuración para un ID de operador de MVNO, recupera la configuración de su ID de operador de MNO con getCarrierIdFromSimMccMnc.

  5. Cambia el nombre del archivo nuevo a 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.