Los dispositivos que ejecutan Android 9 pueden reconocer la información del operador de suscripción para proporcionar un ID y un nombre de operador. Android mantiene una base de datos de IDs de operadores, con reglas de coincidencia para cada operador y su ID ú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 a los operadores y limita la exposición de los atributos de identificación del operador.
Para mejorar la cobertura y precisión de la identificación de operadores, Android admite actualizaciones fuera de banda y de tablas de IDs de operadores. Cada actualización incluye 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 objeto binario carrier_list.pb
desde AOSP. Para ver el formato legible de la tabla, consulta carrier_list.textpb
.
Coloca la tabla de ID del 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 conserva la tabla 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 ID de transportista.
Agrega información del ID del operador a la base de datos
Para agregar o actualizar un ID de operador a la base de datos, envía una solicitud mediante 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 de AOSP en carrier_list.pb
.
Luego, puedes copiar la lista actualizada y, luego, incorporarla a tu compilación personalizada.
Integra los IDs de operador 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 IDs de operador con CarrierConfig
tiene las siguientes ventajas:
- Consolida todos los pares de MCC/MNC de cada operador en una sola ubicación y quita los datos duplicados o incoherentes.
- Crea un identificador canónico para cada operador y quita 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).
Migra datos de configuración a IDs de operador
Para migrar datos de configuración de pares MCC/MNC a IDs de operador, sigue estos pasos:
Agrupa los archivos
carrier_config_mccmnc.xml
de un solo operador. Usacarrier_list.textpb
como referencia para asignar la información de MCC, MNC y MVNO a un operador en particular.Combina las configuraciones en un solo archivo.
Hereda datos de las MNO (opcional). Los MVNO heredan la configuración de los MNO en el archivo
carrier_config_mccmnc.xml
heredado. Debido a 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.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
.Cambia el nombre del archivo nuevo a
carrier_config_carrierid_carrierid_carriername.xml
, en el que carrierid debe corresponder a uncanonical_id
y carriername debe corresponder a uncarrier_name
encarrier_list.textpb
.