Implémenter des plans de données

Android 9 permet aux opérateurs de fournir directement aux utilisateurs des informations fiables sur leur forfait dans l'application Paramètres afin de réduire la confusion et les appels d'assistance. Sur les appareils équipés d'Android 4.0 ou version ultérieure, les utilisateurs peuvent configurer manuellement les détails de leur forfait Internet spécifique à leur opérateur dans l'application Paramètres, par exemple en définissant des avertissements et des limites pour gérer leur consommation de données.

Configuration par opérateur

Pour configurer des forfaits de données, les opérateurs peuvent ajouter des fonctionnalités à leurs applications Android existantes à l'aide des API SubscriptionPlan. Les API sont conçues pour prendre en charge un large éventail de types de forfaits de données, y compris des forfaits récurrents et non récurrents, ainsi que des forfaits qui changent au fil du temps.

Voici un exemple de configuration d'un type de forfait de données courant qui se répète tous les mois:

SubscriptionManager sm =
    context.getSystemService(SubscriptionManager.class);
sm.setSubscriptionPlans(subId, Lists.newArrayList(
    SubscriptionPlan.Builder.createRecurringMonthly(
            ZonedDateTime.parse("2016-12-03T10:00:00Z"))
        .setTitle("G-Mobile")
        .setDataLimit(4_000_000_000L,
            SubscriptionPlan.LIMIT_BEHAVIOR_BILLED)
        .setDataUsage(200_493_293L, dataUsageTimestamp)
        .build()));

L'appareil n'autorise une application à configurer des forfaits de données que si l'une des conditions suivantes est remplie:

  • La carte SIM a défini explicitement une application pouvant la gérer, comme défini par SubscriptionManager.canManageSubscription().
  • L'opérateur a transmis la valeur KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING via CarrierConfigManager pour indiquer quelle application peut gérer les forfaits de données de l'opérateur.
  • L'appareil dispose d'une application intégrée à l'image système disposant de l'autorisation MANAGE_SUBSCRIPTION_PLANS.

Les deux premières conditions permettent à l'utilisateur d'installer l'application du transporteur, sans qu'elle soit préinstallée dans l'image système en usine. L'OS applique (et le CDD exige) que tous les détails du forfait de données configuré soient protégés et ne soient mis à la disposition que de l'application du transporteur qui les a initialement fournis à l'OS.

Une conception suggérée consiste à ce qu'une application de l'opérateur utilise un service de maintenance inactif pour mettre à jour les détails du forfait de données quotidiennement. Toutefois, les opérateurs sont libres d'utiliser un large éventail de mécanismes, tels que la réception des détails du forfait de données via des messages SMS internes à l'opérateur. Il est préférable d'implémenter les services de maintenance inactifs avec une tâche JobScheduler qui utilise setRequiresDeviceIdle() et setRequiresCharging().

Utilisation par système d'exploitation

Le système d'exploitation utilise les détails du forfait de données fournis par les API SubscriptionPlan comme suit:

  • Les détails du forfait s'affichent via l'application Paramètres pour présenter aux utilisateurs une utilisation précise des données et fournir des liens profonds directs vers l'application de l'opérateur pour les opportunités de mise à niveau/vente incitative.
  • Les seuils d'avertissement et de notification de limite d'utilisation des données sont automatiquement configurés en fonction des détails du forfait. L'avertissement est défini sur 90% de la limite.
  • Si l'opérateur indique temporairement que le réseau est "encombré", l'OS retarde les tâches JobScheduler pouvant être décalées dans le temps, ce qui réduit la charge sur le réseau de l'opérateur.
  • Si l'opérateur indique temporairement que le réseau est "sans quota", l'OS peut indiquer que la connexion mobile est "sans quota" jusqu'à ce que l'opérateur supprime le forçage ou jusqu'à ce que la valeur de délai avant expiration (le cas échéant) soit atteinte.
  • En comparant la consommation de données actuelle de l'utilisateur à la limite de données globale, l'OS estime la consommation de données normale de l'utilisateur à la fin du cycle de facturation et alloue de manière conservatrice 10% de tout surplus de données pour améliorer l'expérience utilisateur, par exemple en autorisant les applications à utiliser des données multicanaux.

Personnalisation et validation

L'application Paramètres Android affiche tous les détails du forfait de données configuré par l'opérateur, ce qui permet aux utilisateurs de voir l'état le plus précis de leur relation avec l'opérateur et de passer à un forfait supérieur dans l'application de l'opérateur. Nous recommandons aux fabricants d'appareils qui choisissent de personnaliser l'application Paramètres de continuer à afficher ces informations.

Les API SubscriptionManager décrites sur cette page sont testées par android.telephony.cts.SubscriptionManagerTest, ce qui garantit que les détails du forfait de données peuvent être configurés par les applications de l'opérateur et que les modifications sont propagées dans le système d'exploitation.