Android 9 позволяет операторам связи предоставлять пользователям достоверную информацию о тарифном плане непосредственно в приложении «Настройки», чтобы уменьшить путаницу и количество обращений в службу поддержки. На устройствах под управлением Android 4.0 и более поздних версий пользователи могут вручную настраивать параметры тарифного плана оператора в приложении «Настройки», например, устанавливая предупреждения и лимиты для управления использованием данных.
Конфигурация по оператору связи
 Для настройки тарифных планов операторы связи могут добавлять функциональность в свои существующие приложения Android с помощью API SubscriptionPlan . Эти API поддерживают широкий спектр тарифных планов, включая как повторяющиеся, так и разовые, а также тарифы, которые меняются со временем.
Вот пример того, как настроить распространенный тип тарифного плана с ежемесячной оплатой:
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()));
Устройство позволяет приложению настраивать тарифные планы данных только при одном из следующих условий:
-  SIM-карта явно определяет приложение, которое может ею управлять, как определено в 
SubscriptionManager.canManageSubscription(). -  Оператор передал значение 
KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRINGчерезCarrierConfigManager, чтобы указать, какое приложение может управлять тарифными планами оператора. -  В образ системы устройства встроено приложение с разрешением 
MANAGE_SUBSCRIPTION_PLANS. 
Первые два условия позволяют пользователю установить приложение оператора связи, не требуя его предустановки в образ системы на заводе. Операционная система (и CDD) требует, чтобы все настроенные данные тарифного плана были защищены и доступны только приложению оператора связи, которое изначально предоставило эти данные ОС.
 Один из предлагаемых вариантов заключается в том, чтобы приложение оператора использовало службу обслуживания в режиме ожидания для ежедневного обновления информации о тарифном плане. Однако операторы могут использовать широкий спектр механизмов, например, получать информацию о тарифном плане через внутренние SMS-сообщения оператора. Службы обслуживания в режиме ожидания лучше всего реализовать с помощью задания JobScheduler , использующего функции setRequiresDeviceIdle() и setRequiresCharging() .
Использование ОС
Операционная система использует данные тарифного плана, предоставленные API SubscriptionPlan, следующими способами:
- Подробная информация о плане отображается в приложении «Настройки», что позволяет пользователям увидеть точные данные об использовании данных и получить прямые ссылки на приложение оператора для обновления или дополнительных продаж.
 - Пороговые значения предупреждений и уведомлений об ограничении использования данных настраиваются автоматически на основе сведений о плане; предупреждение устанавливается на уровне 90% от лимита.
 - Если оператор связи временно сообщает, что сеть «перегружена» , ОС задерживает задания JobScheduler, которые можно сдвинуть по времени, снижая нагрузку на сеть оператора.
 - Если оператор временно указывает, что сеть «безлимитная» , операционная система может сообщать о сотовом соединении как о «безлимитном» до тех пор, пока оператор не отменит переопределение или пока не будет достигнуто значение тайм-аута (если указано).
 - Сравнивая текущий объем использования данных пользователем с общим лимитом данных, ОС оценивает обычный объем использования данных пользователем в конце платежного цикла и консервативно выделяет 10% любых избыточных данных для улучшения пользовательского опыта, например, позволяя приложениям использовать многопутевые данные.
 
Настройка и проверка
Приложение «Настройки» Android отображает всю информацию о тарифном плане, настроенном оператором, обеспечивая пользователям наиболее точную информацию о состоянии их отношений с оператором и предлагая им доступ к приложению оператора для обновления тарифного плана. Производителям устройств, решившим настроить приложение «Настройки», рекомендуется продолжать предоставлять эту информацию.
 API SubscriptionManager , описанные на этой странице, протестированы с помощью android.telephony.cts.SubscriptionManagerTest , который гарантирует, что детали тарифного плана могут быть настроены приложениями оператора и что изменения будут распространены в ОС.