Нарезка сети 5G

Для устройств под управлением Android 12 или более поздней версии Android обеспечивает поддержку нарезки сети 5G — использования виртуализации сети для разделения отдельных сетевых подключений на несколько отдельных виртуальных подключений, которые предоставляют разные объемы ресурсов для разных типов трафика. Нарезка сети 5G позволяет сетевым операторам выделять часть сети для предоставления определенных функций определенному сегменту клиентов. В Android 12 представлены следующие возможности разделения корпоративной сети 5G, которые сетевые операторы могут предоставить своим корпоративным клиентам:

Нарезка корпоративных устройств для полностью управляемых устройств

Предприятиям, которые предоставляют своим сотрудникам полностью управляемые корпоративные устройства, сетевые провайдеры могут предоставить им один или несколько активных фрагментов корпоративной сети, куда направляется трафик на устройствах компании. Начиная с Android 12, Android позволяет операторам связи предоставлять корпоративные сегменты с помощью правил URSP вместо настройки сегментов через APN.

Нарезка корпоративных бизнес-приложений для устройств с рабочими профилями

Для предприятий, использующих решение рабочего профиля , Android 12 позволяет устройствам маршрутизировать трафик из всех приложений в рабочем профиле в сегмент корпоративной сети. Предприятия могут включить эту возможность с помощью контроллера политики устройств (DPC) .

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

Как работает нарезка сети 5G в AOSP

В Android 12 реализована поддержка разделения сети 5G посредством дополнений к кодовой базе телефонии в AOSP и модуля Tethering для включения существующих API-интерфейсов подключения, необходимых для разделения сети.

Платформа телефонии Android предоставляет HAL и API-интерфейсы телефонии для поддержки нарезки на основе сетевых запросов, поданных базовым сетевым кодом, и возможностей нарезки 5G в модеме. На рис. 1 описаны компоненты функции разделения сети 5G.

Компоненты разделения сети 5G

Рисунок 1. Архитектура нарезки сети 5G в AOSP.

Платформа телефонии и подключения поддерживает:

  • Преобразование сетевых запросов для категорий слайсов в дескрипторы трафика , которые затем передаются модему для сопоставления трафика URSP и выбора маршрута.
  • Возврат к сети по умолчанию, если фрагмент корпоративной сети недоступен
  • Маршрутизация трафика из всех приложений рабочего профиля на соответствующее соединение.
  • Поддержка корпоративного нарезки

    • Обнаружение наличия рабочего профиля на устройстве
    • Проверка разрешений или направлений маршрутизации, предоставленных ЦОД, используемым ИТ-администратором предприятия.

Базовая сетевая служба включает следующие изменения в модуле модема в Android 12:

  • Добавляет большинство общедоступных или системных классов API android.net.* в модуль привязки.
  • Расширяет границы модуля Tethering и включает в себя:

    • f/b/core/java/android/net/…
    • f/b/services/net/…
    • f/b/services/core/java/com/android/server/connectivity/…
    • f/b/services/core/java/com/android/server/ConnectivityService.java
    • f/b/services/core/java/com/android/server/TestNetworkService.java
  • Удаляет код VPN из модуля модема.

Android 12 переносит код со следующими возможностями в модуль Tethering:

  • Получение запросов от приложений на сетевые подключения
  • Получение запросов от системы (например, «разместить эти приложения в корпоративной части»; появилось в Android 12).
  • Отправка запросов из системы на телефонный код, который пытается настроить сети или фрагменты, используя HAL API и модем.
  • Информирование netd о том, как маршрутизировать трафик для каждого приложения (введено в Android 12)
  • Информирование приложений о том, что происходит с их сетевым трафиком, через API-интерфейсы ConnectivityManager такие как NetworkCallback , getActiveNetwork , getNetworkCapabilities .

Выполнение

Чтобы поддерживать нарезку 5G на устройстве, устройство должно иметь модем, поддерживающий HAL IRadio 1.6, который имеет API setupDataCall_1_6 . Этот API устанавливает соединение для передачи данных и включает следующие параметры для поддержки нарезки 5G:

  • trafficDescriptor : определяет дескриптор трафика, отправляемый на модем.
  • sliceInfo : указывает информацию о сетевом срезе, который будет использоваться в случае переключения EPDG на 5G.
  • matchAllRuleAllowed : указывает, разрешено ли использование правила URSP по умолчанию для сопоставления всех данных. Телефония устанавливает для этого параметра значение true для сетей по умолчанию, но не для срезов. Правило соответствия всем применяется к сетям по умолчанию. Когда приложение запрашивает определенный фрагмент, который недоступен, этот фрагмент сообщается как недоступный. Для корпоративных приложений платформа телефонии может вернуться к сети по умолчанию, если корпоративная сеть недоступна.

Модемы также должны реализовывать API getSlicingConfig , если API getHalDeviceCapabilities не сообщает, что он не поддерживается.

Требования предприятия

Ниже описаны требования к предприятиям по использованию разделения сети 5G на устройствах в корпоративном развертывании Android.

  • Убедитесь, что полностью управляемые устройства или устройства сотрудников, настроенные с помощью рабочего профиля, поддерживают 5G SA с модемами, поддерживающими API setupDataCall_1_6 .
  • Работайте с партнером-оператором над настройкой фрагмента и производительностью или характеристиками SLA.

Включите нарезку 5G на устройствах, на которых настроен рабочий профиль.

Для устройств, на которых настроены рабочие профили, нарезка сети 5G по умолчанию отключена в AOSP. Чтобы включить разделение сети, ИТ-администраторы предприятия могут включать или отключать маршрутизацию трафика приложения рабочего профиля в срез корпоративной сети для каждого сотрудника через EMM DPC, который использует метод setPreferentialNetworkServiceEnabled в API DevicePolicyManager (DPM) (представлен в Android). 12).

Поставщики EMM со специальными ЦОД должны интегрировать API DevicePolicyManager для поддержки корпоративных клиентов.

Правила УРСП

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

ИДЕНТИФИКАТОР Ценить Описание
Идентификатор ОС 97a498e3-fc92-5c94-8986-0333d06e4e47 OSID для Android — это UUID версии 5, созданный с использованием OID ISO пространства имен и имени «Android».

Операторы связи должны настроить правила URSP для каждого сегмента трафика с компонентом дескриптора трафика как «Идентификатор ОС + тип идентификатора приложения ОС». Например, срез «ENTERPRISE» должен иметь значение 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . Это значение представляет собой объединение OSId, длины OSAppId ( 0x0A ) и OSAppId. Для получения дополнительной информации о типе компонента дескриптора трафика см. таблицу 5.2.1 3GPP TS 24.526 .

В следующей таблице описаны значения OSAppId для различных категорий срезов.

Категория среза OSAppId Описание
ПРЕДПРИЯТИЕ 0x454E5445525052495345 OSAppId — это представление массива байтов строки «ENTERPRISE».
ПРЕДПРИЯТИЕ2 0x454E544552505249534532 OSAppId — это представление массива байтов строки "ENTERPRISE2".
ПРЕДПРИЯТИЕ3 0x454E544552505249534533 OSAppId — это представление массива байтов строки "ENTERPRISE3".
ПРЕДПРИЯТИЕ4 0x454E544552505249534534 OSAppId — это представление массива байтов строки "ENTERPRISE4".
ПРЕДПРИЯТИЕ5 0x454E544552505249534535 OSAppId — это представление массива байтов строки "ENTERPRISE5".
CBS 0x434253 OSAppId — это представление массива байтов строки «CBS».
ПРИОРИТИЗАЦИЯ_LATENCY 0x5052494f524954495a455f4c4154454e4359 OSAppId — это представление массива байтов строки «PRIORITIZE_LATENCY».
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 OSAppId — это представление массива байтов строки «PRIORITIZE_BANDWIDTH».

Примеры правил URSP

В следующих таблицах показаны примеры правил URSP для предприятия, CBS, низкой задержки, высокой пропускной способности и трафика по умолчанию.

Предприятие 1

Поддержка Enterprise 1 доступна в Android 12 и более поздних версиях. Ниже приведен пример правила URSP для трафика ENTERPRISE1:

Правило URSP №1 (предприятие1)
Приоритет 1 (0x01)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN предприятие
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие

Предприятие 2

Поддержка Enterprise 2 доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика ENTERPRISE2:

Правило URSP №2 (предприятие2)
Приоритет 2 (0x02)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN предприятие2
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие2

Предприятие 3

Поддержка Enterprise 3 доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика ENTERPRISE3:

Правило URSP №3 (предприятие3)
Приоритет 3 (0x03)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN предприятие3
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие3

Предприятие 4

Поддержка Enterprise 4 доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика ENTERPRISE4:

Правило URSP №4 (предприятие4)
Приоритет 4 (0x04)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN предприятие4
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие4

Предприятие 5

Поддержка Enterprise 5 доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика ENTERPRISE5:

Правило URSP №5 (предприятие5)
Приоритет 5 (0x05)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN предприятие5
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN предприятие5

CBS

Поддержка CBS доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика CBS:

Правило URSP №6 (CBS)
Приоритет 6 (0x06)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E4703434253
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN cbs
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN cbs

Низкая задержка

Поддержка низкой задержки доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика LOW_LATENCY:

Правило URSP №7 (малая задержка)
Приоритет 7 (0x07)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN задержка
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN задержка

Высокая пропускная способность

Поддержка высокой пропускной способности доступна в Android 13 и более поздних версиях. Ниже приведен пример правила URSP для трафика HIGH_BANDWIDTH:

Правило URSP №8 (высокая пропускная способность)
Приоритет 8 (0x08)
Дескриптор трафика №1
Идентификатор ОС + тип идентификатора приложения ОС 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ
Компонент №2: DNN пропускная способность
Дескриптор выбора маршрута №2
Приоритет 2 (0x02)
Компонент №1: DNN пропускная способность

По умолчанию

Правило URSP №9 (по умолчанию)
Приоритет 9 (0x09)
Дескриптор трафика №1
все совпадение Н/Д
Дескриптор выбора маршрута №1
Приоритет 1 (0x01)
Компонент №1: S-NSSAI ССТ:ХХ СД:ГГГГГГ

Тестирование

Чтобы проверить нарезку сети 5G, используйте следующий ручной тест.

Чтобы настроить устройство для тестирования, выполните следующие действия:

  1. Убедитесь, что в политике URSP настроено правило, отличное от правила по умолчанию, которое соответствует категории предприятия, и что соответствующий дескриптор выбора маршрута сопоставляет категорию предприятия с срезом предприятия; и правило по умолчанию, направляющее трафик в интернет-срез по умолчанию.

  2. Убедитесь, что на устройстве настроен рабочий профиль.

  3. Согласитесь на использование нарезки сети через ЦОД.

Чтобы проверить поведение нарезки сети 5G, выполните следующие действия:

  1. Убедитесь, что сеанс PDU установлен с корпоративным срезом (например, с использованием определенного IP-адреса) и что приложения в рабочем профиле используют этот сеанс PDU.
  2. Убедитесь, что с интернет-фрагментом по умолчанию установлен отдельный сеанс PDU и что приложения в личном профиле используют сеанс PDU.

Дополнительные продажи 5G

Функция нарезки сети 5G, доступная в Android 14-QPR1, позволяет операторам связи предлагать своим пользователям расширенные сетевые возможности (задержку и пропускную способность) посредством нарезки сети 5G.

Функция нарезки дополнительных продаж 5G использует ответ TS.43 от сервера разрешений оператора связи для управления потоком покупок. Операторы связи могут использовать ответ, чтобы указать URL-адрес для веб-представления покупки оператора, отправить дополнительные данные в веб-представление и указать, подготовлен ли фрагмент и доступен ли он в сети оператора связи.

Операторы связи могут настраивать поведение функции дополнительных продаж 5G, используя конфигурации оператора связи, которые контролируют, можно ли делать запросы на покупку, когда приложениям разрешено запрашивать дополнительные возможности и как долго платформа телефонии ожидает ответов от пользователя или сети.

Функция нарезки 5G предоставляет интерфейс DataBoostWebServiceFlow , позволяющий осуществлять связь между Android и веб-просмотром оператора связи.

На рисунке 2 показан процесс покупки дополнительных продаж 5G:

Поток покупок дополнительных продаж 5G

Рисунок 2. Поток покупок дополнительных продаж 5G.

Процесс предоставления прав TS.43

Когда пользователь делает запрос на расширенные сетевые возможности, платформа телефонии запрашивает конфигурацию разрешений на обслуживание для запрошенной расширенной возможности. Если ответ TS.43 действителен, платформа телефонии использует поля из ответа HTTP для подачи запроса на покупку.

Поля покупки фрагментов

Конфигурация полномочий TS.43 включает следующие поля покупки фрагментов:

Статус права

Ключ: EntitlementStatus

Тип: int

Поддерживаемые значения: 0 (отключено), 1 (включено), 2 (несовместимо), 3 (инициализация), 4 (включено).

Статус предоставления

Ключ: ProvStatus

Тип: int

Поддерживаемые значения: 0 (не подготовлено), 1 (предоставлено), 2 (недоступно), 3 (в процессе).

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

Если статус права равен 1 (включен), а статус подготовки — 0 (не предоставлен), платформа телефонии отображает пользователю уведомление о дополнительной продаже для приобретения повышения через веб-просмотр оператора связи. В следующей таблице описано поведение платформы телефонии для различных комбинаций значений статуса подготовки и предоставления прав.

Статус предоставления
Не подготовлено ( 0 ) Предусмотрено ( 1 ) 1 ) Недоступно ( 2 ) В процессе ( 3 )
Статус права Отключено ( 0 ) Неуспешный Неуспешный Неуспешный Неуспешный
Включено ( 1 ) Показать веб-просмотр Уже куплено Уже куплено В ходе выполнения
Несовместимо ( 2 ) Неуспешный Неуспешный Неуспешный Неуспешный
Обеспечение ( 3 ) Ошибка оператора связи Ошибка оператора связи В ходе выполнения В ходе выполнения
Включено ( 4 ) Ошибка оператора связи Уже куплено Уже куплено Ошибка оператора связи

Поля потока обслуживания

В ответе TS.43 указывается URL-адрес, пользовательские данные и тип содержимого для настройки поведения веб-просмотра при покупке через оператора связи. Если тип содержимого не указан, URL-адрес загружается как запрос GET. Если пользовательские данные существуют, они добавляются к URL-адресу в качестве параметра запроса (например, https://www.android.com?encodedValue=Base64EncodedUserData ); а если он не существует, URL-адрес используется как есть (например, https://www.android.com ).
Если тип содержимого указан в формате JSON или XML, URL-адрес загружается как запрос POST, а пользовательские данные (декодированные, если они закодированы в Base 64) отправляются как данные для запроса POST.

URL-адрес

Ключ: ServiceFlow_URL

Тип: String

Пример: "https://www.android.com"

Пользовательские данные

Ключ: ServiceFlow_UserData

Тип: String

Пример: "encodedValue=Base64EncodedUserData"

Тип содержимого

Ключ: ServiceFlow_ContentsType

Тип: String

Поддерживаемые значения: 0 (не указано), 1 (JSON), 2 (XML).

Конфигурации оператора связи

Ниже приведены конфигурации операторов связи, доступные для настройки поведения функции нарезки 5G.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

Список поддерживаемых премиум-возможностей. Это int-массив TelephonyManager.PremiumCapability . Эти дополнительные возможности имеют то же значение, что и соответствующий класс NetworkCapabilities.NetCapability . Если запрашивается расширенная возможность, но она не включена в эту конфигурацию, запрос на покупку завершается с ошибкой CARRIER_DISABLED .

В Android 14 поддерживается только PREMIUM_CAPABILITY_PRIORITIZE_LATENCY .

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

Максимальное количество раз в день, когда пользователю показывается уведомление о допродаже. Если дневной максимум достигнут, уведомление о дополнительной продаже не отображается, а запросы на покупку (включая запросы сервера разрешений) ограничиваются до полуночи следующего дня. Запросы на покупку, сделанные после достижения дневного максимума, завершаются неудачей с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Максимальное количество раз в месяц, когда пользователю будет показано уведомление о допродаже. Если месячный максимум достигнут, уведомление о допродаже не отображается, а запросы на покупку (включая запросы сервера разрешений) ограничиваются до первого дня следующего месяца. Запросы на покупку, сделанные после достижения месячного максимума, завершаются неудачей с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

URL-адрес покупки резервного оператора связи, который будет отображаться пользователю при нажатии на уведомление о дополнительной продаже. Если URL-адрес покупки не найден в ответе TS.43 от сервера предоставления прав, вместо него используется это значение. Если ни URL-адрес из ответа TS.43, ни конфигурация оператора связи недействительны, запрос на покупку завершается с ошибкой с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED .

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

Разрешить ли приобретение дополнительных возможностей при подключении устройства к Long-Term Evolution (LTE). Если true , запросы на покупку можно делать как по LTE, так и по новому радио (NR). Если false , запросы на покупку могут быть сделаны только по NR, а запросы, сделанные по LTE, завершаются неудачей с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

Время, в течение которого пользователю будет показано уведомление о допродаже, прежде чем оно будет автоматически отменено. Когда уведомление отменяется, последующие запросы регулируются и завершаются сбоем с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Время, в течение которого последующие запросы на покупку должны регулироваться после сбоя из-за тайм-аута или отмены пользователем. Если пользователь не щелкает уведомление о допродаже покупки в течение времени ожидания, указанного в KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG или если он отменяет или отклоняет уведомление, запускается этот таймер отсрочки. Пока этот таймер активен, запросы на покупку завершаются с ошибкой PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Время, в течение которого последующие запросы на покупку должны регулироваться после сбоя по вине оператора связи или сети. Если проверка прав не удалась, URL-адрес недоступен или URL-адрес покупки оператора указывает на сбой, запускается этот таймер отсрочки. Пока этот таймер активен, запросы на покупку завершаются неудачей с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED .

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Время, в течение которого сеть должна настроить конфигурацию нарезки для возможности приобретения премиум-услуг. В течение этого периода последующие запросы на покупку блокируются и возвращают результат PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP . Если сети не удается вовремя настроить конфигурацию нарезки, приложения могут снова запросить приобретение расширенных возможностей. Телефония не считает покупку завершенной до тех пор, пока не будет отправлена ​​соответствующая конфигурация нарезки, независимо от того, заплатил ли пользователь оператору связи или нет.

Javascript-интерфейс

Когда пользователь щелкает уведомление о расширении сети, пользователю отображается объект WebView с URL-адресом покупки оператора связи. Операторы связи могут использовать API-интерфейсы, предоставленные в интерфейсе Javascript DataBoostWebServiceFlow на своем веб-сайте покупок, для связи с приложением покупки фрагментов.

Веб-сайт оператора связи может получить запрошенную премиум-возможность с помощью метода getRequestedCapability() .

Если покупка прошла успешно, веб-сайт оператора связи должен уведомить приложение о покупке фрагмента с помощью notifyPurchaseSuccessful() или notifyPurchaseSuccessful(duration) где duration — это необязательный параметр, указывающий предполагаемую продолжительность фрагмента.

Если покупка не удалась, веб-сайт оператора связи должен уведомить приложение покупки фрагмента с помощью метода notifyPurchaseFailed(code, reason) , где code — это код ошибки, указывающий причину сбоя, а reason — удобочитаемая причина сбоя, если код неисправности неизвестен.

Если ни один из этих методов ответа не вызывается, покупка не будет считаться завершенной, и время ожидания запроса на покупку в конечном итоге истечет.

Ниже приведены действительные коды ошибок, которые веб-сайт оператора связи может вернуть в случае неудачной покупки:

После завершения покупки оператор связи должен обновить правила URSP с помощью среза PRIORITIZE_LATENCY на устройстве пользователя.