Dzielenie sieci 5G

Na urządzeniach z Androidem 12 lub nowszym Android zapewnia obsługę dzielenia sieci 5G, czyli korzystania z wirtualizacji sieci w celu podziału pojedynczych połączeń sieciowych na wiele odrębnych połączeń wirtualnych, które zapewniają różne ilości zasobów dla różnych typów ruchu. 5G network slicing umożliwia operatorom sieci przeznaczanie części sieci na udostępnianie określonych funkcji określonym segmentom klientów. Android 12 wprowadza następujące funkcje dzielenia sieci 5G dla firm, które operatorzy mogą udostępniać swoim klientom korporacyjnym:

Dzielenie urządzeń firmowych na urządzenia w pełni zarządzane

W przypadku firm, które udostępniają pracownikom w pełni zarządzane urządzenia firmowe, dostawcy sieci mogą udostępnić im co najmniej 1 aktywne segmenty sieci korporacyjnej, do których kierowany jest ruch na urządzeniach firmowych. Od Androida 12 operatorzy mogą udostępniać fragmenty dla firm za pomocą reguł URSP zamiast konfigurować fragmenty za pomocą APN.

Dzielenie aplikacji biznesowych na urządzeniach z profilami służbowymi

W przypadku firm korzystających z rozwiązania profilu służbowego Android 12 umożliwia urządzeniom kierowanie ruchu ze wszystkich aplikacji w profilu służbowym do segmentu sieci korporacyjnej. Firmy mogą włączyć tę funkcję za pomocą kontrolera zasad dotyczących urządzeń (DPC).

Rozwiązanie dotyczące profilu służbowego zapewnia automatyczny poziom uwierzytelniania i kontroli dostępu, który jest wymagany w firmach, aby zapewnić, że tylko ruch z aplikacji korporacyjnych w profilu służbowym jest kierowany do segmentu sieci korporacyjnej. Aplikacji na profilu służbowym nie trzeba modyfikować, aby wysyłać żądania do sieci korporacyjnej.

Jak działa dzielenie sieci 5G w AOSP

Android 12 wprowadza obsługę dzielenia sieci 5G poprzez dodatki do kodu źródłowego telefonii w AOSP i module Tethering, aby uwzględnić istniejące interfejsy API łączności, które są wymagane do dzielenia sieci.

Platforma telefonii na Androidzie udostępnia interfejsy HAL i telefonii, aby obsługiwać dzielenie na warstwy na podstawie żądań sieciowych przesłanych przez podstawowy kod sieciowy oraz funkcje dzielenia na warstwy 5G w modemie. Rysunek 1 przedstawia elementy funkcji dzielenia sieci 5G.

Komponenty podziału sieci 5G

Rysunek 1. Architektura sieci 5G w AOSP.

Platforma telefonii i połączeń obsługuje:

  • konwertowanie żądań sieciowych dotyczących kategorii segmentów na deskryptory ruchu, które są następnie przekazywane do modemu w celu dopasowywania ruchu URSP i wyboru trasy;
  • przełączenie się na sieć domyślną, jeśli kawałek sieci firmowej jest niedostępny;
  • Kierowanie ruchu ze wszystkich aplikacji w profilu służbowym do odpowiedniego połączenia
  • Obsługa dzielenia na poziomie przedsiębiorstwa

    • wykrywanie obecności profilu służbowego na urządzeniu;
    • Sprawdzanie uprawnień lub wskazówek dotyczących routingu udostępnionych przez DPC używany przez administratora IT firmy

Podstawowa usługa sieciowa obejmuje te zmiany w module tetheringu w Androidzie 12:

  • Dodaje do modułu tetheringu większość publicznych lub systemowych klas interfejsu API android.net.*
  • Rozszerza granice modułu udostępniania połączenia, aby obejmowały:

    • 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
  • Przenoszenie kodu sieci VPN z modułu tetheringu

Android 12 przenosi kod z tymi funkcjami do modułu tetheringu:

  • Odbieranie żądań dotyczących połączeń sieciowych z aplikacji
  • Odbieranie żądań od systemu (np. „umieść te aplikacje w sekcji dla przedsiębiorstw”, wprowadzonej w Androidzie 12)
  • Wysyłanie żądań z systemu do kodu telefonicznego, który próbuje skonfigurować sieci lub segmenty, korzystając z interfejsu HAL API i modemu.
  • informowanie netd o tym, jak kierować ruch na podstawie aplikacji (wprowadzone w Androidzie 12);
  • Informowanie aplikacji o tym, co dzieje się z ich ruchem sieciowym za pomocą interfejsów API ConnectivityManager, takich jak NetworkCallback, getActiveNetworkgetNetworkCapabilities.

Implementacja

Aby obsługiwać dzielenie pasma 5G na urządzeniu, musi ono mieć modem obsługujący interfejs IRadio 1.6 HAL z interfejsem API setupDataCall_1_6. Ten interfejs API konfiguruje połączenie danych i zawiera te parametry, aby obsługiwać dzielenie 5G:

  • trafficDescriptor: określa opis ruchu wysyłany do modemu
  • sliceInfo: określa informacje dotyczące warstwy sieci, która ma być używana w przypadku przełączania EPDG na 5G
  • matchAllRuleAllowed: określa, czy dozwolone jest używanie domyślnej reguły URSP dopasowującej wszystko. Usługa telefonii ustawia tę wartość na „Prawda” w przypadku domyślnych sieci, ale nie w przypadku wycinków. Reguła dopasowania do wszystkich jest stosowana do domyślnych sieci. Gdy aplikacja poprosi o konkretny wycinek, który jest niedostępny, ten wycinek zostanie zgłoszony jako niedostępny. W przypadku aplikacji dla firm framework telefonii może przejść do sieci domyślnej, jeśli sieć firmowa jest niedostępna.

Modem musi też implementować interfejs API getSlicingConfig, chyba że jest on zgłoszony jako nieobsługiwany przez interfejs API getHalDeviceCapabilities.

Wymagania dotyczące klientów Enterprise

Poniżej znajdziesz wymagania dotyczące korzystania z technologii slicingu sieci 5G na urządzeniach w ramach wdrożenia Androida w firmie.

  • Upewnij się, że w pełni zarządzane urządzenia lub urządzenia pracowników z utworzonym profilem służbowym są zgodne z 5G SA i mają modemy obsługujące interfejs API setupDataCall_1_6.
  • współpracę z partnerem operatora w zakresie konfiguracji i wydajności segmentów lub charakterystyki SLA;

Włączanie dzielenia 5G na urządzeniach z profilem służbowym

W przypadku urządzeń z utworzonymi profilami służbowymi dzielenie pasma sieci 5G jest domyślnie wyłączone w AOSP. Aby włączyć dzielenie sieci, administratorzy IT w firmie mogą włączać i wyłączać kierowanie ruchu z aplikacji na profilu służbowym do sieci firmowej na podstawie pojedynczego pracownika za pomocą EMM DPC, który korzysta z metody setPreferentialNetworkServiceEnabled w interfejsie DevicePolicyManager (DPM) API (wprowadzonym w Androidzie 12).

Dostawcy usług EMM, którzy korzystają z niestandardowych usług DPC, muszą zintegrować interfejs API DevicePolicyManager, aby obsługiwać klientów korporacyjnych.

Reguły URSP

Ta sekcja zawiera informacje dla operatorów dotyczące konfigurowania reguł URSP dla różnych kategorii segmentów, w tym dla firm, CBS, niskiej latencji i ruchu o dużej przepustowości. Podczas konfigurowania reguł URSP dla różnych kategorii segmentów operatorzy muszą używać tych wartości dotyczących Androida.

ID Wartość Opis
OSId 97a498e3-fc92-5c94-8986-0333d06e4e47 Identyfikator OSId w przypadku Androida to identyfikator UUID w wersji 5 wygenerowany z użyciem przestrzeni nazw ISO-OID i nazwy „Android”.

Operatorzy muszą skonfigurować reguły URSP dla każdego ruchu w ramach danego segmentu, podając w komponencie opisu ruchu typ „OS Id + OS App Id”. Na przykład wartość przekroju „ENTERPRISE” musi być równa 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345. Ta wartość jest konkatenacją identyfikatora OSId, długości identyfikatora OSAppId (0x0A) oraz identyfikatora OSAppId. Więcej informacji o typie komponentu opisu ruchu znajdziesz w dokumentacji 3GPP TS 24.526 Tabela 5.2.1 (w języku angielskim).

W tabeli poniżej opisano wartości identyfikatorów OSAppId w przypadku różnych kategorii wycinków.

Kategoria wycinka OSAppId Opis
ENTERPRISE 0x454E5445525052495345 Parametr OSAppId to tablica bajtów zawierająca ciąg „ENTERPRISE”.
ENTERPRISE2 0x454E544552505249534532 Parametr OSAppId to tablica bajtów zawierająca ciąg „ENTERPRISE2”.
ENTERPRISE3 0x454E544552505249534533 Parametr OSAppId to tablica bajtów zawierająca ciąg „ENTERPRISE3”.
ENTERPRISE4 0x454E544552505249534534 Parametr OSAppId to tablica bajtów zawierająca ciąg „ENTERPRISE4”.
ENTERPRISE5 0x454E544552505249534535 Parametr OSAppId to tablica bajtów zawierająca ciąg znaków „ENTERPRISE5”.
CBS 0x434253 Parametr OSAppId to tablica bajtów zawierająca ciąg „CBS”.
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 Parametr OSAppId to tablica bajtów zawierająca ciąg „PRIORITIZE_LATENCY”.
PRIORITIZE_BANDWIDTH 0x5052494f524954495a455f42414e445749445448 Parametr OSAppId to tablica bajtów zawierająca ciąg „PRIORITIZE_BANDWIDTH”.

Przykładowe reguły URSP

W tabelach poniżej podajemy przykładowe reguły URSP dla przedsiębiorstw, CBS, niskich opóźnień, dużej przepustowości i domyślnego ruchu.

Enterprise 1

Obsługa Enterprise 1 jest dostępna w Androidzie 12 i nowszych. Oto przykład reguły URSP dla ruchu ENTERPRISE1:

Reguła URSP 1 (enterprise1)
Pierwszeństwo 1 (0x01)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN enterprise
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN enterprise

Enterprise 2

Obsługa Enterprise 2 jest dostępna na urządzeniach z Androidem 13 lub nowszym. Oto przykład reguły URSP dla ruchu ENTERPRISE2:

Reguła URSP 2 (enterprise2)
Pierwszeństwo 2 (0x02)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN enterprise2
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN enterprise2

Enterprise 3

Obsługa Enterprise 3 jest dostępna w Androidzie 13 i nowszych. Oto przykład reguły URSP dla ruchu ENTERPRISE3:

Reguła URSP 3 (enterprise3)
Pierwszeństwo 3 (0x03)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN enterprise3
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN enterprise3

Enterprise 4

Obsługa Enterprise 4 jest dostępna w Androidzie 13 i nowszych. Oto przykład reguły URSP dotyczącej ruchu ENTERPRISE4:

Reguła URSP 4 (enterprise4)
Pierwszeństwo 4 (0x04)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN enterprise4
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN enterprise4

Enterprise 5

Obsługa Enterprise 5 jest dostępna w Androidzie 13 i nowszych. Oto przykład reguły URSP dotyczącej ruchu ENTERPRISE5:

Reguła URSP 5 (enterprise5)
Pierwszeństwo 5 (0x05)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN enterprise5
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN enterprise5

CBS

Obsługa CBS jest dostępna w Androidzie 13 i nowszych. Oto przykład reguły URSP dotyczącej ruchu CBS:

Reguła URSP nr 6 (CBS)
Pierwszeństwo 6 (0x06)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E4703434253
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN cbs
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN cbs

Małe opóźnienie

Obsługa niskiego opóźnienia jest dostępna w Androidzie 13 i nowszych. Oto przykład reguły URSP dotyczącej ruchu o niskim opóźnieniu:

Reguła URSP #7 (małe opóźnienie)
Pierwszeństwo 7 (0x07)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN opóźnienie
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN opóźnienie

Wysoka przepustowość

Obsługa wysokiej przepustowości jest dostępna w Androidzie 13 i nowszych. Oto przykład reguły URSP dotyczącej ruchu o wysokiej przepustowości:

Reguła URSP 8 (duża przepustowość)
Pierwszeństwo 8 (0x08)
Opis ruchu #1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY
Element 2. Sieć DNN przepustowość
Opis wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN przepustowość

Domyślny

Reguła URSP 9 (domyślna)
Pierwszeństwo 9 (0x09)
Opis ruchu #1
match-all Nie dotyczy
Opis wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YYYYYY

Testowanie

Aby przetestować dzielenie sieci 5G, wykonaj ten test ręczny.

Aby skonfigurować urządzenie do testowania:

  1. Upewnij się, że zasada URSP jest skonfigurowana z regułą niestandardową, która jest zgodna z kategorią przedsiębiorstwa, oraz że odpowiedni deskryptor wyboru trasy mapuje kategorię przedsiębiorstwa na ich segment, a także reguła domyślna kieruje ruch do domyślnego segmentu internetowego.

  2. Upewnij się, że na urządzeniu jest skonfigurowany profil służbowy.

  3. Włączanie dzielenia sieci za pomocą DPC

Aby przetestować działanie dzielenia sieci 5G:

  1. Sprawdź, czy sesja PDU została nawiązana z użyciem partycji korporacyjnej (na przykład za pomocą określonego adresu IP) i czy aplikacje w profilu służbowym korzystają z tej sesji PDU.
  2. Sprawdź, czy z domyślnym wycinkiem internetowym została nawiązana osobna sesja PDU i czy aplikacje w profilu osobistym korzystają z sesji PDU.

Upselling w ramach slicingu 5G

Funkcja upsellingu 5G slicing, dostępna od Androida 14-QPR1, umożliwia operatorom oferowanie użytkownikom zaawansowanych funkcji sieciowych (opóźnień i przepustowości) dzięki dzieleniu sieci 5G.

Funkcja upsellingu 5G slicing korzysta z odpowiedzi TS.43 z serwera uprawnień operatora, aby umożliwić proces zakupu. Operatorzy mogą użyć odpowiedzi, aby określić adres URL widoku strony zakupu operatora, wysłać dodatkowe dane do widoku strony i wskazywać, czy fragment jest udostępniony i dostępny w sieci operatora.

Operatorzy mogą dostosowywać działanie funkcji upsellingu w ramach slicingu 5G za pomocą konfiguracji operatora, które określają, czy można przesyłać prośby o zakup, kiedy aplikacje mogą prosić o możliwości premium i jak długo framework telefonii czeka na odpowiedzi od użytkownika lub sieci.

Funkcja upsellingu 5G slicing zapewnia interfejs o nazwie DataBoostWebServiceFlow, który umożliwia komunikację między Androidem a interfejsem przeglądarki operatora.

Rysunek 2 przedstawia proces zakupu w ramach upsellu usług 5G:

Przetwarzanie w sieci 5G w procesie zakupu z dodatkową sprzedażą

Rysunek 2. Proces zakupu z dodatkowymi opłatami za 5G.

TS.43 proces przyznawania uprawnień

Gdy użytkownik wysyła żądanie dotyczące rozszerzonych funkcji sieciowych, framework telefonii prosi o konfigurację uprawnień do usługi w przypadku żądanej funkcji premium. Jeśli odpowiedź TS.43 jest prawidłowa, framework telefonii używa pól z odpowiedzi HTTP do obsługi żądania zakupu.

Polecenie Slice purchase fields

Konfiguracja uprawnień TS.43 zawiera te pola zakupu segmentu:

Stan uprawnienia

Klawisz: EntitlementStatus

Typ: int

Obsługiwane wartości: 0 (wyłączone), 1 (włączone), 2 (niezgodny), 3 (alokacja), 4 (uwzględniony).

Stan obsługi administracyjnej

Klawisz: ProvStatus

Typ: int

Obsługiwane wartości: 0 (niezarezerwowane), 1 (zarezerwowane), 2 (niedostępne), 3 (w trakcie).

Aby określić bieżący stan zakupu fragmentu, platforma telefonii korzysta z kombinacji stanu uprawnień i stanu obsługi. Wynik może być:

Jeśli stan uprawnień to 1 (włączone), a stan obsługi to 0 (nieobsługiwane), framework telefonii wyświetla użytkownikowi powiadomienie o możliwości zakupu ulepszonej wersji usługi za pomocą widoku przeglądarki operatora. Tabela poniżej opisuje działanie interfejsu Telephony w różnych kombinacjach wartości stanu udostępniania i uprawnień.

Stan wdrożenia
Nie przydzielone (0) Zarezerwowany (1)) Niedostępny (2) W toku (3)
Stan uprawnień Wyłączone (0) Niepowodzenie Niepowodzenie Niepowodzenie Niepowodzenie
Włączone (1) Pokaż widok witryny Już mam ten produkt Już mam ten produkt W toku
Niezgodny (2) Niepowodzenie Niepowodzenie Niepowodzenie Niepowodzenie
Zarządzanie (3) Błąd operatora Błąd operatora W toku W toku
Dołączone (4) Błąd operatora Już mam ten produkt Już mam ten produkt Błąd operatora

Pola przepływu usług

Odpowiedź TS.43 określa adres URL, dane użytkownika i typ treści, aby dostosować działanie przeglądarki webview w ramach zakupu u operatora. Jeśli typ treści nie jest określony, adres URL jest wczytywany jako żądanie GET. Jeśli dane użytkownika istnieją, są one dołączane do adresu URL jako parametr zapytania (np. https://www.android.com?encodedValue=Base64EncodedUserData), a jeśli nie, adres URL jest używany w postaci, w której występuje (np. https://www.android.com).
Jeśli typ treści jest określony w formacie JSON lub XML, adres URL jest wczytywany jako żądanie POST, a dane użytkownika (odkodowane, jeśli są zakodowane w systemie Base64) są wysyłane jako dane żądania POST.

URL

Klawisz: ServiceFlow_URL

Typ: String

Przykład: "https://www.android.com"

Dane użytkownika

Klawisz: ServiceFlow_UserData

Typ: String

Przykład: "encodedValue=Base64EncodedUserData"

Typ treści

Klawisz: ServiceFlow_ContentsType

Typ: String

Obsługiwane wartości: 0 (nieokreślony), 1 (JSON), 2 (XML)

Konfiguracje operatora

Poniżej znajdziesz konfiguracje operatora umożliwiające dostosowanie działania funkcji upsellingu 5G.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

Lista obsługiwanych funkcji premium. To tablica int zawierająca elementy TelephonyManager.PremiumCapability. Te funkcje premium mają tę samą wartość co odpowiednia klasa NetworkCapabilities.NetCapability. Jeśli żądana jest funkcja premium, która nie jest uwzględniona w tej konfiguracji, żądanie zakupu kończy się niepowodzeniem z wynikiem CARRIER_DISABLED.

W Androidzie 14 obsługiwana jest tylko wersja PREMIUM_CAPABILITY_PRIORITIZE_LATENCY.

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

Maksymalna dzienna liczba wyświetleń powiadomienia o możliwości dokupienia produktu użytkownikowi. Jeśli osiągnięto dzienny limit, powiadomienie o ulepszeniu nie jest wyświetlane, a żądania zakupu (w tym żądania serwera dotyczące uprawnień) są ograniczane do północy następnego dnia. Prośby o zakup wysłane po osiągnięciu dziennego limitu nie powiodą się i zwrócą wynikPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Maksymalna liczba wyświetleń powiadomienia o możliwości skorzystania z oferty specjalnej w ramach zakupu. Jeśli osiągnięto limit miesięczny, powiadomienie o ulepszeniu nie jest wyświetlane, a prośby o zakup (w tym prośby do serwera uprawnień) są ograniczane do pierwszego dnia następnego miesiąca. Żądania o zakup dokonane po osiągnięciu miesięcznego limitu kończą się niepowodzeniem z wynikiem PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

Adres URL zapasowego zakupu u operatora, który wyświetla się użytkownikowi po kliknięciu powiadomienia o upsellingu. Jeśli w odpowiedzi TS.43 z serwera uprawnień nie ma adresu URL zakupu, zamiast niego używana jest ta wartość. Jeśli ani adres URL z odpowiedzi TS.43, ani konfiguracja operatora nie są prawidłowe, żądanie zakupu zakończy się niepowodzeniem z wynikiem PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED.

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

Określ, czy chcesz zezwalać na zakup funkcji premium, gdy urządzenie jest połączone z siecią Long-Term Evolution (LTE). Jeśli true, prośby o zakup można wysyłać zarówno w sieci LTE, jak i New Radio (NR). Jeśli false, prośby o zakup mogą być wysyłane tylko w sieci NR, a prośby wysłane w sieci LTE kończą się niepowodzeniem z wynikiem PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE.

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

Czas wyświetlania użytkownikowi powiadomienia o możliwości skorzystania z oferty specjalnej, zanim zostanie ono automatycznie anulowane. Gdy powiadomienie zostanie anulowane, kolejne żądania są ograniczane i nie udaje się ich wykonać.PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Czas, przez jaki kolejne żądania zakupu powinny być ograniczane po niepowodzeniu spowodowanym przekroczeniem limitu czasu lub anulowaniem przez użytkownika. Jeśli użytkownik nie kliknie powiadomienia o ulepszeniu zakupu w okresie określonym przez KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG lub jeśli anuluje lub odrzuci powiadomienie, rozpocznie się odliczanie. Podczas trwania tego timera prośby o zakup kończą się niepowodzeniem z wynikiemPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Czas, przez jaki kolejne żądania zakupu powinny być ograniczane po wystąpieniu błędu spowodowanego przez operatora lub sieć. Jeśli kontrola uprawnień zakończy się niepowodzeniem, adres URL jest niedostępny lub adres URL zakupu u operatora wskazuje na niepowodzenie, rozpoczyna się odliczanie. Podczas trwania tego licznika prośby o zakup kończą się niepowodzeniem z kodem błędu PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED.

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Czas, w którym sieć musi skonfigurować konfigurację podziału na potrzeby funkcji zakupu premium. W tym czasie kolejne żądania zakupu są blokowane i zwracają wynik PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP. Jeśli sieci nie uda się w czasie skonfigurować konfiguracji dzielenia, aplikacje mogą ponownie poprosić o zakup funkcji premium. Usługa telefonii nie uzna zakupu za zakończony, dopóki nie zostanie wysłana odpowiednia konfiguracja slicingu, niezależnie od tego, czy użytkownik zapłacił operatorowi czy nie.

Interfejs JavaScript

Gdy użytkownik kliknie powiadomienie o wzmocnieniu sieci, zobaczy obiekt WebView z adresem URL zakupu u operatora. Operatorzy mogą używać interfejsów API udostępnionych w interfejsie JavaScript DataBoostWebServiceFlow na stronie internetowej zakupu w celu komunikacji z aplikacją do zakupu w ramach usługi taryfowej.

Witryna operatora może uzyskać żądaną funkcję premium za pomocą metody getRequestedCapability().

Jeśli zakup się powiedzie, witryna operatora musi powiadomić aplikację o zakupie notifyPurchaseSuccessful() lub notifyPurchaseSuccessful(duration), gdzie duration to opcjonalny parametr wskazujący docelowy czas trwania kawałka.

Jeśli zakup się nie powiedzie, strona internetowa przewoźnika musi powiadomić aplikację do zakupów cząstkowych za pomocą metody notifyPurchaseFailed(code, reason), gdzie code to kod błędu wskazujący przyczynę niepowodzenia, a reason to czytelny dla człowieka powód niepowodzenia, jeśli kod błędu jest nieznany.

Jeśli nie wywołasz żadnej z tych metod odpowiedzi, zakup nie zostanie uznany za zrealizowany, a prośba o zakup zostanie w końcu odrzucona.

Poniżej znajdują się prawidłowe kody błędów, które strona internetowa przewoźnika może zwrócić w przypadku nieudanego zakupu:

Po zakończeniu zakupu przewoźnik musi zaktualizować zasady URSP, dodając do urządzenia użytkownika PRIORITIZE_LATENCY.