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

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

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

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

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

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

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

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

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

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

Компоненты сегментации сети 5G

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

Платформа телефонии и связи поддерживает:

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

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

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

  • Добавляет большинство общедоступных или системных классов API android.net.* в модуль Tethering
  • Расширяет границы модуля 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 из модуля Tethering

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

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

Выполнение

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

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

Модемы также должны реализовывать 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 с индивидуальными DPC должны интегрировать API DevicePolicyManager для поддержки корпоративных клиентов.

Правила УРСП

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

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

Операторы должны настроить правила URSP для каждого трафика среза с компонентом дескриптора трафика как "OS Id + OS App Id type". Например, срез "ENTERPRISE" должен иметь значение 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 . Это значение является конкатенацией OSId, длины OSAppId ( 0x0A ) и OSAppId. Для получения дополнительной информации о типе компонента дескриптора трафика см. 3GPP TS 24.526 Table 5.2.1 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Си-Би-Эс

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

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

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

Поддержка Low Latency доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика LOW_LATENCY:

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

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

Поддержка High Bandwidth доступна в Android 13 и выше. Ниже приведен пример правила URSP для трафика HIGH_BANDWIDTH:

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

По умолчанию

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

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

Для проверки сегментации сети 5G используйте следующий ручной тест.

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

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

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

  3. Включите использование сетевого сегментирования через DPC

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

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

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

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

Функция 5G-нарезки upsell использует ответ 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 ) Недоступно ( 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

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

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Максимальное количество раз, когда уведомление о покупке upsell будет показано пользователю в месяц. Если достигнут ежемесячный максимум, уведомление о покупке upsell не отображается, а запросы на покупку (включая запросы сервера прав) задерживаются до первого дня следующего месяца. Запросы на покупку, сделанные после достижения ежемесячного максимума, завершаются неудачей с результатом 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, так и на New Radio (NR). Если false , запросы на покупку можно делать только на NR, а запросы на LTE завершаются ошибкой с результатом PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE .

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

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

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Время, в течение которого последующие запросы на покупку должны быть ограничены после сбоя из-за тайм-аута или отмены пользователем. Если пользователь не нажимает на уведомление о покупке upsell в течение тайм-аута, указанного в 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, предоставленные в интерфейсе DataBoostWebServiceFlow Javascript на своем веб-сайте покупки, для связи с приложением покупки слайса.

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

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

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

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

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

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