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 être compatibles avec un large éventail 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 plan de données courant qui se répète chaque 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 explicitement défini 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
viaCarrierConfigManager
pour indiquer quelle application peut gérer les forfaits Internet 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. Le système d'exploitation exige (et le CDD l'exige) que tous les détails du forfait de données configurés sont protégés et ne sont mis à la disposition que de l'application de l'opérateur qui a initialement fourni ces informations à l'OS.
L'une des solutions suggérées consiste pour une application d'opérateur à utiliser un service de maintenance inactif pour mettre à jour quotidiennement les détails du forfait Internet. 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 SMS internes de 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 OS
L'OS utilise les détails du forfait de données fournis par les API SubscriptionPlan de la manière suivante:
- 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 actuelle de données de l'utilisateur à la limite globale de données, le système d'exploitation estime la consommation normale de données de l'utilisateur à la fin du cycle de facturation et alloue prudemment 10% des données excédentaires afin d'améliorer l'expérience utilisateur (par exemple, en permettant aux applications d'utiliser des données multi-chemins).
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.