Identificação da operadora

Dispositivos com Android 9 podem reconhecer informações da operadora de assinatura para fornecer um ID e um nome da operadora. O Android mantém um banco de dados de IDs de operadora, com regras correspondentes para cada operadora e seu ID exclusivo. AOSP inclui o conteúdo do banco de dados de ID da operadora, no arquivo carrier_list.textpb . O banco de dados unificado minimiza a lógica duplicada em aplicativos que precisam identificar operadoras e limita a exposição de atributos de identificação de operadoras.

Para melhorar a cobertura e a precisão da identificação da operadora, o Android suporta atualizações fora da banda e da tabela de identificação da operadora. Cada atualização vem com um número de versão e é publicada no AOSP.

Implementação

Os usuários que desejam implementar atualizações fora de banda podem baixar o binário carrier_list.pb do AOSP. Para visualizar o formato legível da tabela, consulte carrier_list.textpb .

Coloque a tabela de ID da operadora na partição /data/misc/carrierid/ data do dispositivo. Se a tabela de ID da operadora for mais recente que a versão existente, o dispositivo persistirá a tabela na classe de banco de dados de ID da operadora . As informações mais recentes do banco de dados de ID da operadora são obtidas pelos métodos públicos getSimCarrierId() e getSimCarrierIdName() .

Adicionando informações de ID da operadora ao banco de dados

Para adicionar ou atualizar um ID de transportadora no banco de dados, envie uma solicitação usando o formulário de informações de identificação da transportadora .

Sua solicitação será revisada e, se aprovada, a alteração será enviada para o código base AOSP em carrier_list.pb . Você pode então copiar a lista atualizada e incorporá-la em sua construção personalizada.

Integrando IDs de operadora com CarrierConfig

A partir do Android 10, a configuração da operadora oferece suporte ao uso de IDs de operadora como chaves para buscar configurações específicas da operadora em CarrierService .

A integração de IDs de operadora com CarrierConfig tem as seguintes vantagens:

  • Consolida todos os pares MCC/MNC de cada operadora em um único local, removendo dados duplicados ou inconsistentes.
  • Cria um identificador canônico para cada operadora e remove a ambigüidade.
  • Permite que operadoras de redes virtuais móveis (MVNOs) sejam identificadas com IDs individuais em vez de terem configurações como parte de uma operadora de rede móvel (MNO).

Migrando dados de configuração para IDs de operadora

Para migrar dados de configuração de pares MCC/MNC para IDs de operadora, siga estas etapas:

  1. Agrupe os arquivos carrier_config_mccmnc.xml de uma única operadora. Use carrier_list.textpb como referência para mapear as informações MCC, MNC e MVNO para uma operadora específica.

  2. Mesclar as configurações em um único arquivo.

  3. (Opcional) Herdar dados de MNOs. Os MVNOs herdam configurações dos MNOs no arquivo carrier_config_mccmnc.xml legado. Como os IDs de operadora permitem que todas as operadoras, incluindo MVNOs, tenham um arquivo de configuração dedicado, é recomendável incluir dados de MNO durante a migração.

  4. Se a configuração para um ID de operadora MVNO não existir, busque a configuração de seu ID de operadora MNO usando getCarrierIdFromSimMccMnc .

  5. Renomeie o novo arquivo como carrier_config_carrierid_ carrierid _ carriername .xml onde carrierid deve corresponder a um canonical_id e carriername deve corresponder a um carrier_name em carrier_list.textpb