Les appareils équipés d'Android 9 peuvent reconnaître les informations sur l'opérateur d'abonnement pour fournir un ID et un nom d'opérateur. Android gère une base de données d'ID d'opérateur, avec des règles de correspondance pour chaque opérateur et son ID d'opérateur unique. Le projet Android Open Source
Project (AOSP) inclut le contenu de la base de données d'ID d'opérateur dans le fichier
carrier_list.textpb. La base de données unifiée minimise la logique en double dans les applications qui doivent identifier les opérateurs et limite l'exposition des attributs d'identification des opérateurs.
Pour améliorer la couverture et la précision de l'identification des opérateurs, Android prend en charge les mises à jour hors bande et de la table d'ID d'opérateur. Chaque mise à jour est fournie avec un numéro de version et est publiée dans AOSP.
Implémentation
Si vous souhaitez implémenter des mises à jour hors bande, vous pouvez télécharger le
carrier_list.pb
binaire à partir d'AOSP. Pour afficher le format lisible du tableau, consultez
carrier_list.textpb.
Placez la table d'ID d'opérateur dans la partition de données /data/misc/carrierid/ de l'appareil. Si la table d'ID d'opérateur est plus récente que la version existante, l'appareil
la conserve dans la
classe de base de données d'ID d'opérateur.
Les informations les plus récentes de la base de données d'ID d'opérateur sont récupérées par les
méthodes publiques
getSimCarrierId()
et
getSimCarrierIdName().
Ajouter des informations sur l'ID d'opérateur à la base de données
Pour ajouter ou mettre à jour un ID d'opérateur dans la base de données, envoyez une demande à l'aide du formulaire Informations d'identification de l'opérateur.
Votre demande est examinée et, si elle est approuvée, la modification est envoyée à la base de code AOSP
dans
carrier_list.pb.
Vous pouvez ensuite copier la liste mise à jour et l'intégrer à votre build personnalisé.
Intégrer des ID d'opérateur à CarrierConfig
À partir d'Android 10,
la configuration de l'opérateur prend en charge
l'utilisation d'ID d'opérateur comme clés pour récupérer des configurations spécifiques à l'opérateur à partir de
CarrierService.
L'intégration d'ID d'opérateur à CarrierConfig présente les avantages suivants :
- Consolide toutes les paires MCC/MNC pour chaque opérateur dans un seul emplacement, ce qui supprime les données en double ou incohérentes.
- Crée un identifiant canonique pour chaque opérateur et supprime toute ambiguïté.
- Permet d'identifier les opérateurs de réseau mobile virtuel (MVNO) avec des ID individuels au lieu d'avoir des configurations faisant partie d'un opérateur de réseau mobile (MNO).
Migrer des données de configuration vers des ID d'opérateur
Pour migrer des données de configuration de paires MCC/MNC vers des ID d'opérateur, procédez comme suit :
Regroupez les fichiers
carrier_config_mccmnc.xmld'un seul opérateur. Utilisezcarrier_list.textpbcomme référence pour mapper les informations MCC, MNC et MVNO à un opérateur particulier.Fusionnez les configurations dans un seul fichier.
(Facultatif) Héritez des données des MNO. Les MVNO héritent des configurations des MNO dans l'ancien fichier
carrier_config_mccmnc.xml. Étant donné que les ID d'opérateur permettent à tous les opérateurs, y compris les MVNO, d'avoir un fichier de configuration dédié, il est recommandé d'inclure les données MNO lors de la migration.Si la configuration d'un ID d'opérateur MVNO n'existe pas, récupérez la configuration à partir de son ID d'opérateur MNO à l'aide de
getCarrierIdFromSimMccMnc.Renommez le nouveau fichier
carrier_config_carrierid_carrierid_carriername.xmloù carrierid doit correspondre à uncanonical_idet carriername doit correspondre à uncarrier_namedans carrier_list.textpb.