L'utilisation des données mobiles est coûteuse, et encore plus lorsque les coûts des forfaits de données ne sont pas abordables pour tous. Les utilisateurs Android doivent pouvoir réduire la consommation de données ou la bloquer complètement dans les applications. La fonctionnalité Économiseur de données de la version Android 7.0 fournit cette fonctionnalité à l'utilisateur.
L'utilisateur peut activer ou désactiver la fonctionnalité Économiseur de données. Les développeurs d'applications doivent utiliser une nouvelle API pour vérifier si le mode Économiseur de données est activé. Si elle est activée, les développeurs d'applications peuvent gérer la situation de manière appropriée en ajustant leurs applications pour un accès aux données limité ou nul.
Les utilisateurs finaux en bénéficient, car ils peuvent contrôler les applications qui peuvent accéder aux données en arrière-plan et celles qui ne peuvent y accéder qu'au premier plan. Cela garantit l'échange de données en arrière-plan souhaité lorsque l'économiseur de données est activé par l'utilisateur.
Implémentation
Étant donné que l'Économiseur de données est une fonctionnalité de la plate-forme, les fabricants d'appareils bénéficient de cette fonctionnalité par défaut avec la version N. Recherchez les fichiers sources dans:
packages/apps/Settings/src/com/android/settings/datausage
Interface des paramètres
Une interface utilisateur par défaut pour les paramètres de l'Économiseur de données est fournie dans le projet Android Open Source (AOSP). Pour voir des exemples, consultez les captures d'écran ci-dessous.
Ces captures d'écran montrent le mode Économiseur de données en cours d'utilisation.

Figure 1 : Activer/Désactiver l'Économiseur de données

Figure 2. Lorsque l'économiseur de batterie et l'Économiseur de données sont activés

Figure 3. Écran de consommation des données par application: Paramètres > Applications > Consommation des données

Figure 4. États de l'Économiseur de données dans le menu "Réglages rapides"
Applis
Important: Les implémentateurs d'appareils ne doivent pas ajouter d'applications à la liste blanche. Même si c'est le cas, les utilisateurs peuvent les supprimer. L'inclusion d'autres applications oblige les utilisateurs à choisir celles auxquelles appliquer l'Économiseur de données.
Tous les développeurs d'applications doivent prendre des mesures pour implémenter le mode Économiseur de données, y compris les OEM et les opérateurs avec des applications préchargées. Consultez la section Économiseur de données sur developer.android.com pour obtenir des instructions sur la détection et la surveillance des états de l'Économiseur de données. Pour en savoir plus, consultez les sections ci-dessous.
Pour optimiser les applications pour le mode Économie de données, procédez comme suit:
- Supprimer les images inutiles
- Utiliser une résolution inférieure pour les images restantes
- Utiliser des vidéos à débit inférieur
- Déclencher les expériences "light" existantes
- Compresser les données
- Respecter l'état du réseau facturé à l'usage ou non, même lorsque l'économiseur de données est désactivé
À l'inverse, pour fonctionner correctement avec l'Économiseur de données, les applications ne doivent pas:
- Lire automatiquement les vidéos
- Précharger le contenu/les pièces jointes
- Télécharger les mises à jour / le code
- Demander à être ajouté à la liste blanche, sauf si les données en arrière-plan font réellement partie de la fonctionnalité de base
- Traiter la liste blanche comme une licence pour utiliser plus de bande passante
Validation
Les implémentateurs peuvent s'assurer que leur version de la fonctionnalité fonctionne comme prévu en exécutant le test CTS suivant:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
De plus, les commandes adb
peuvent être utilisées pour effectuer des tests manuellement en exécutant d'abord cette commande pour afficher toutes les options disponibles:
adb shell cmd netpolicy
Par exemple, cette commande renvoie les UID des applications de la liste d'autorisation:
adb shell cmd netpolicy list restrict-background-whitelist