Identification du transporteur

Les appareils exécutant Android 9 peuvent reconnaître les informations de l'opérateur d'abonnement pour fournir un identifiant 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. AOSP inclut le contenu de la base de données des identifiants de transporteur, 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 de l'opérateur, Android prend en charge les mises à jour hors bande et des tables d'identification de l'opérateur. Chaque mise à jour est accompagnée d'un numéro de version et est publiée sur AOSP.

Mise en œuvre

Les utilisateurs qui souhaitent implémenter des mises à jour hors bande peuvent télécharger le binaire carrier_list.pb depuis AOSP. Pour afficher le format lisible du tableau, voir carrier_list.textpb .

Placez la table d'identification de l'opérateur dans la partition /data/misc/carrierid/ data de l'appareil. Si la table des ID de transporteur est plus récente que la version existante, l'appareil conserve la table dans la classe de base de données des ID de transporteur . Les informations les plus récentes de la base de données des identifiants d'opérateur sont récupérées par les méthodes publiques getSimCarrierId() et getSimCarrierIdName() .

Ajout d'informations d'identification de transporteur à la base de données

Pour ajouter ou mettre à jour un identifiant de transporteur dans la base de données, soumettez une demande à l'aide du formulaire d'informations d'identification du transporteur .

Votre demande est examinée et si elle est approuvée, la modification est transférée vers la base de code AOSP à l' carrier_list.pb . Vous pouvez ensuite copier la liste mise à jour et l'intégrer dans votre version personnalisée.

Intégration des identifiants d'opérateur avec CarrierConfig

À partir d'Android 10, la configuration de l'opérateur prend en charge l'utilisation des ID d'opérateur comme clés pour récupérer les configurations spécifiques à l'opérateur à partir de CarrierService .

L'intégration des identifiants d'opérateur avec CarrierConfig présente les avantages suivants :

  • Consolide toutes les paires MCC/MNC pour chaque opérateur en un seul emplacement en supprimant les données en double ou incohérentes.
  • Crée un identifiant canonique pour chaque transporteur et supprime toute ambiguïté.
  • Permet aux opérateurs de réseaux virtuels mobiles (MVNO) d'être identifiés avec des identifiants individuels au lieu d'avoir des configurations faisant partie d'un opérateur de réseau mobile (MNO).

Migration des données de configuration vers les identifiants d'opérateur

Pour migrer les données de configuration des paires MCC/MNC vers les ID d'opérateur, procédez comme suit :

  1. Regroupez les fichiers carrier_config_mccmnc.xml d’un seul opérateur. Utilisez carrier_list.textpb comme référence pour mapper les informations MCC, MNC et MVNO à un opérateur particulier.

  2. Fusionnez les configurations en un seul fichier.

  3. (Facultatif) Héritez des données des ORM. Les MVNO héritent des configurations des MNO dans l'ancien fichier carrier_config_mccmnc.xml . Étant donné que les identifiants d'opérateur permettent à tous les opérateurs, y compris les MVNO, de disposer d'un fichier de configuration dédié, il est recommandé d'inclure les données MNO lors de la migration.

  4. Si la configuration d'un ID d'opérateur MNO n'existe pas, récupérez la configuration à partir de son ID d'opérateur MNO à l'aide de getCarrierIdFromSimMccMnc .

  5. Renommez le nouveau fichier en carrier_config_carrierid_ carrierid _ carriername .xmlcarrierid doit correspondre à un canonical_id et carriername doit correspondre à un carrier_name dans carrier_list.textpb