Режим экономии трафика

Использование мобильных данных является дорогостоящим, и тем более там, где тарифы на передачу данных доступны не всем. Пользователям Android нужна возможность сократить использование данных или полностью заблокировать их для приложений. Функция Data Saver в версии Android 7.0 предоставляет пользователю эту возможность.

Функция экономии трафика может быть включена или отключена пользователем. Разработчики приложений должны использовать новый API, чтобы проверить, включен ли режим экономии трафика. Если он включен, разработчики приложений могут изящно справиться с ситуацией, настроив свои приложения для доступа с малым объемом данных или без доступа к ним.

Конечные пользователи получают выгоду, поскольку они смогут контролировать, какие приложения могут получать доступ к данным в фоновом режиме, а какие — только в активном режиме. Это обеспечивает желаемый обмен данными в фоновом режиме, когда функция экономии данных включена для каждого пользовательского элемента управления.

Реализация

Поскольку Data Saver является функцией платформы, производители устройств получают эту функцию по умолчанию в выпуске N. Найдите исходные файлы в:
пакеты/приложения/Настройки/src/com/android/Настройки/использование данных

Интерфейс настроек

Пользовательский интерфейс настроек Data Saver по умолчанию предоставляется в Android Open Source Project (AOSP). Примеры смотрите на скриншотах ниже.

На этих снимках экрана показан используемый режим экономии трафика.

Включение/выключение экономии трафика

Рис. 1. Включение/выключение функции экономии трафика

Экономия заряда батареи и экономия трафика включены

Рис. 2. Когда включены и режим экономии заряда батареи, и режим экономии трафика

Экран использования данных для конкретного приложения

Рис. 3. Экран использования данных для конкретного приложения: «Настройки» > «Приложения» > «Использование данных».

Экономия трафика в быстрых настройках

Рис. 4. Состояния сохранения данных в меню быстрых настроек

Программы

Важно ! Разработчики устройств не должны вносить приложения в белый список. Даже если они есть, пользователи могут удалить их. Включение других приложений вынуждает пользователей решать, какое из них применить Data Saver.

Все разработчики приложений должны внедрять Data Saver, включая OEM-производителей и операторов связи с предварительно загруженными приложениями. См. Data Saver на сайте developer.android.com , чтобы получить инструкции для разработчиков приложений по обнаружению и отслеживанию состояний Data Saver. Дополнительные сведения, полезные для партнеров, см. в разделах ниже.

Чтобы оптимизировать работу в режиме экономии трафика, приложения должны:

  • Удалите ненужные изображения
  • Используйте более низкое разрешение для остальных изображений
  • Используйте видео с более низким битрейтом
  • Активируйте существующий «облегченный» опыт
  • Сжать данные
  • Соблюдайте статус сети с измерением и без учета, даже если функция экономии трафика отключена.

И наоборот, чтобы эффективно работать с Data Saver, приложения не должны:

  • Автовоспроизведение видео
  • Предварительная загрузка контента/вложений
  • Скачать обновления/код
  • Попросите внести вас в белый список, если фоновые данные действительно не являются частью основных функций.
  • Относитесь к белому списку как к лицензии на использование большей пропускной способности.

Проверка

Разработчики могут убедиться, что их версия функции работает должным образом, запустив следующий тест CTS:

com.android.cts.net.HostsideRestrictBackgroundNetworkTests

Кроме того, команды adb можно использовать для проведения тестов вручную, сначала запустив эту команду, чтобы увидеть все доступные параметры:

adb shell cmd netpolicy

Например, эта команда возвращает UID приложений из белого списка:

adb shell cmd netpolicy list restrict-background-whitelist