Dzielenie sieci 5G

Na urządzeniach z Androidem 12 lub nowszym zapewnia obsługę dzielenia sieci 5G i pozwala na korzystanie z wirtualizacji sieci rozdzielaj pojedyncze połączenia sieciowe na wiele różnych połączeń wirtualnych które zapewniają różną ilość zasobów dla różnych typów ruchu. 5G segmentacja sieci pozwala operatorom sieciowym dedykować część sieci udostępniając określone funkcje dla określonego segmentu klientów. Android 12 wprowadza z funkcjami podziału sieci 5G, które operatorzy sieciowi mogą zapewnić swoim klientom korporacyjnym:

Dzielenie urządzeń firmowych na potrzeby w pełni zarządzanych

Dla firm, które udostępniają w pełni zarządzana pracowników za pomocą urządzeń firmowych, operatorzy sieci mogą lub większą liczbę aktywnych wycinków sieci firmowych, na których ruch jest generowany na urządzeniach firmowych; są przekierowywani. Począwszy od Androida 12, Android umożliwia operatorom aby udostępniać wycinki przedsiębiorstwa za pomocą reguł URSP, zamiast konfigurować wycinki za pomocą APNs.

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

Firmy korzystające z profil służbowy Android 12 umożliwia urządzeniom kierowanie ruch ze wszystkich aplikacji w profilu służbowego i połączenia z wycinkiem sieci firmowej. Firmy mogą to włączyć zdolność technologii Kontroler zasad dotyczących urządzeń (DPC).

Profil służbowy zapewnia automatyczny poziom uwierzytelniania kontroli dostępu, której firmy wymagają, aby ruch z domeny aplikacje firmowe w profilu służbowym są kierowane do wycinka sieci firmowej. Nie trzeba modyfikować aplikacji w profilu służbowym, aby wycinek sieci firmowej.

Jak działa podział sieci 5G w AOSP

W Androidzie 12 wprowadzamy obsługę dzielenia sieci 5G przez uzupełnienie bazy kodu usług telefonicznych w AOSP oraz Moduł Tethering przez uwzględnienie istniejących interfejsów API połączeń, które są wymagane do podziału sieci.

Platforma telefoniczna z Androidem udostępnia interfejsy API HAL i telefoniczne do obsługi dzielenie na podstawie żądań sieciowych zainicjowanych przez podstawowy kod sieciowy i 5G modemu z funkcjami fragmentacji. Rysunek 1 przedstawia komponenty sieci 5G funkcji podziału sieci.

Komponenty do podziału sieci 5G

Rysunek 1. Architektura podziału sieci 5G w AOSP.

Platforma telekomunikacyjna obsługuje:

  • Konwertowanie żądań sieciowych dla kategorii wycinków na deskryptory ruchu które są przekazywane do modemu w celu dopasowania ruchu URSP i kierowania zaznaczenie
  • Wracam do sieci domyślnej, jeśli wycinek sieci firmowej nie jest dostępne
  • Kieruję ruch ze wszystkich aplikacji w profilu służbowym do odpowiednie połączenie
  • Obsługa dzielenia przedsiębiorstwa

    • Wykrywam na urządzeniu profil służbowy
    • Sprawdzam uprawnienia lub wskazówki dojazdu z DPC używany przez firmowego administratora IT

Podstawowa usługa sieciowa obejmuje następujące zmiany w tetheringu moduł w Androidzie 12:

  • Dodaje do tetheringu większość publicznych lub systemowych klas interfejsów API (android.net.*) część
  • Rozszerza zakres modułu Tethering na:

    • 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
  • Przenosi kod VPN z modułu Tethering.

Android 12 przenosi kod przy użyciu tych funkcji do modułu Tethering:

  • Odbieranie z aplikacji żądań połączeń sieciowych
  • odbieranie żądań z systemu (np. „umieść te aplikacje w pliku wycinek enterprise"; wprowadzone w Androidzie 12).
  • Wysyłanie żądań z systemu do kodu telefonicznego, który próbuje skonfigurować sieci lub wycinki, przechodząc przez interfejs HAL API i modem
  • Uzyskanie informacji o tym, jak kierować ruch w odniesieniu do poszczególnych aplikacji (w języku angielskim) Androida 12).
  • Informuje aplikacje o tym, co dzieje się z ruchem w sieci Interfejsy API firmy ConnectivityManager, takie jak NetworkCallback, getActiveNetwork, getNetworkCapabilities

Implementacja

Aby można było korzystać z dzielenia 5G na urządzeniu, musi ono mieć modem obsługujący IRadio 1.6 HAL, który ma setupDataCall_1_6 API. Ten interfejs API konfiguruje połączenie do transmisji danych i zawiera następujące parametry do obsługi fragmentacji 5G:

  • trafficDescriptor: określa deskryptor ruchu wysyłanego do modemu
  • sliceInfo: określa informacje o wycinku sieci, który ma być używany w przypadku przejścia z programu EPDG na sieć 5G
  • matchAllRuleAllowed: określa, czy używany jest domyślny URSP typu „match all”. jest dozwolona. W przypadku usług telefonicznych ustawienie to ma wartość Prawda w przypadku sieci domyślnych ale nie do wycinków. Reguła „Dopasuj wszystko” jest stosowana do wartości domyślnej sieci. Gdy aplikacja żąda określonego wycinka, który nie jest odpowiedni wycinek jest zgłaszany jako niedostępny. Dla: dla przedsiębiorstw, można użyć domyślnej platformy telekomunikacyjnej, , jeśli jest ona niedostępna.

Modemy muszą również zaimplementować getSlicingConfig API, chyba że został zgłoszony przez getHalDeviceCapabilities API.

Wymagania dla firm

Poniżej opisano wymagania, które muszą spełniać firmy, aby używały podziału sieci 5G na urządzeniach we wdrożeniu Androida dla firm.

  • Zadbaj o to, aby w pełni zarządzane urządzenia lub urządzenia pracowników miały skonfigurowany profil służbowy zgodne z siecią 5G SA, z modemami obsługującymi setupDataCall_1_6 API.
  • Współpracuj z operatorem sieci w sprawie konfiguracji wycinków, wydajności i gwarancji jakości usług dla niektórych cech produktu.

Włącz podział 5G na urządzeniach skonfigurowanych z profilem służbowym

W przypadku urządzeń skonfigurowanych z profilami służbowymi podział sieci 5G jest wyłączony przez domyślnie w usłudze AOSP. Aby włączyć podział sieci, administratorzy IT mogą włączyć lub wyłączyć wyłączone kierowanie ruchu z aplikacji z profilu służbowego do wycinka sieci firmowej w na pracownika za pomocą EMM DPC, który wykorzystuje setPreferentialNetworkServiceEnabled w funkcji DevicePolicyManager (DPM) API (wprowadzony w Androidzie 12).

Dostawcy usług EMM z niestandardowymi DPC muszą zintegrować DevicePolicyManager API do obsługi klientów korporacyjnych.

Reguły URSP

Ta sekcja zawiera informacje dla operatorów dotyczące konfigurowania reguł URSP dla różne kategorie, w tym Enterprise, CBS, i o wysokiej przepustowości. Podczas konfigurowania reguł URSP dla różnych kategorii wycinków, operatorzy muszą używać następujących charakterystycznych dla systemu Android: .

ID Wartość Opis
Identyfikator systemu operacyjnego 97a498e3-fc92-5c94-8986-0333d06e4e47 Identyfikator OSId w przypadku Androida to identyfikator UUID w wersji 5 wygenerowany za pomocą ISO przestrzeni nazw. OID i nazwie „Android”.

Operatorzy muszą skonfigurować reguły URSP dla każdego wycinka ruchu z ruchem deskryptora jako „Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego”. Na przykład: „ENTERPRISE” wycinek musi mieć wartość 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 Ta wartość jest konkatenacją identyfikatora OSId, długości identyfikatora OSAppId (0x0A), oraz OSAppId. Więcej informacji o typie komponentu deskryptora ruchu znajdziesz w artykule 3GPP TS 24.526 Tabela 5.2.1

W tabeli poniżej znajdziesz wartości OSAppId dla różnych kategorii wycinków.

Kategoria wycinka Identyfikator aplikacji OS Opis
ROZPOCZNIJ DZIAŁANIE 0x454E5445525052495345 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „ENTERPRISE”
ENTERPRISE2 0x454E544552505249534532 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „ENTERPRISE2”
ENTERPRISE3 0x454E544552505249534533 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „ENTERPRISE3”
ENTERPRISE4 0x454E544552505249534534 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „ENTERPRISE4”
ENTERPRISE5 0x454E544552505249534535 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „ENTERPRISE5”
CBS 0x434253 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „CBS”
PRIORITIZE_LATENCY 0x5052494f524954495a455f4c4154454e4359 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „PRIORITIZE_LATENCY”
PRIORITIZE_BANDWIDTH (PRIORITIZE_BANDWIDTH) 0x5052494f524954495a455f42414e445749445448 Identyfikator OSAppId to tablicowa reprezentacja ciągu znaków „PRIORITIZE_BANDWIDTH”

Przykładowe reguły URSP

W tabelach poniżej znajdziesz przykładowe reguły URSP dla firm: CBS, małe opóźnienia, wysoka przepustowość i domyślny ruch.

Enterprise 1

Pomoc dotycząca wersji Enterprise 1 jest dostępna w Androidzie 12 i nowszych. Poniżej znajdziesz przykładową regułę URSP dla ruchu ENTERPRISE1:

Reguła URSP nr 1 (enterprise1)
Pierwszeństwo 1 (0x01)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN Enterprise
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN Enterprise

Enterprise 2

Pomoc dotycząca wersji Enterprise 2 jest dostępna w Androidzie 13 i nowszych. Poniżej znajdziesz przykładową regułę URSP dla ruchu ENTERPRISE2:

Reguła URSP nr 2 (enterprise2)
Pierwszeństwo 2 (0x02)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN firma2
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN firma2

Enterprise 3

Pomoc dotycząca Enterprise 3 jest dostępna w Androidzie 13 i nowszych. Poniżej znajdziesz przykładową regułę URSP dla ruchu ENTERPRISE3:

Reguła URSP nr 3 (enterprise3)
Pierwszeństwo 3 (0x03)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN firma3
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN firma3

Enterprise 4

Pomoc dotycząca Enterprise 4 jest dostępna w Androidzie 13 i nowszych. Poniżej znajdziesz przykładową regułę URSP dla ruchu ENTERPRISE4:

Reguła URSP nr 4 (enterprise4)
Pierwszeństwo 4 (0x04)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN Enterprise4
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN Enterprise4

Enterprise 5

Pomoc dotycząca Enterprise 5 jest dostępna w Androidzie 13 i nowszych. Poniżej znajdziesz przykładową regułę URSP dla ruchu ENTERPRISE5:

Reguła URSP nr 5 (enterprise5)
Pierwszeństwo 5 (0x05)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN Enterprise5
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN Enterprise5

CBS

Obsługa CBS jest dostępna na Androidzie 13 i nowszych. Oto przykładowa reguła URSP dla ruchu CBS:

Reguła URSP 6 (CBS)
Pierwszeństwo 6 (0x06)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E4703434253
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN cbs
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN cbs

Małe opóźnienie

Obsługa funkcji Małe opóźnienie jest dostępna w Androidzie 13 i nowszych. Oto przykładowa reguła URSP dla ruchu o wartości LOW_LATENCY:

Reguła URSP nr 7 (małe opóźnienie)
Pierwszeństwo 7 (0x07)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN czas oczekiwania
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN czas oczekiwania

Wysoka przepustowość

Obsługa wysokiej przepustowości jest dostępna w Androidzie 13 i nowszych. Poniżej przedstawiono przykładową regułę URSP dla ruchu o wartości HIGH_BANDWIDTH:

Reguła URSP 8 (wysoka przepustowość)
Pierwszeństwo 8 (0x08)
Deskryptor ruchu 1
Identyfikator systemu operacyjnego + typ identyfikatora aplikacji systemu operacyjnego 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY
Komponent 2: DNN przepustowość
Deskryptor wyboru trasy 2
Pierwszeństwo 2 (0x02)
Komponent 1: DNN przepustowość

Domyślny

Reguła URSP nr 9 (domyślna)
Pierwszeństwo 9 (0x09)
Deskryptor ruchu 1
typu „match wszystko” Nie dotyczy
Deskryptor wyboru trasy 1
Pierwszeństwo 1 (0x01)
Komponent 1: S-NSSAI SST:XX SD:YRRRRY

Testowanie

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

Aby skonfigurować urządzenie do testowania:

  1. Sprawdź, czy zasada URSP jest skonfigurowana z regułą inną niż domyślna, która pasuje do kategorii przedsiębiorstwa oraz że odpowiedni wybór trasy deskryptor mapuje kategorię przedsiębiorstwa na wycinek przedsiębiorstwa; i reguła domyślna kierująca ruch do domyślnego wycinka internetu.

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

  3. Wyraź zgodę na stosowanie podziału sieci przez DPC

Aby przetestować podział sieci 5G, wykonaj te czynności:

  1. Sprawdź, czy sesja PDU została ustanowiona z wycinkiem przedsiębiorstwa (dla np. przez użycie określonego adresu IP) i że aplikacje w profilu służbowym w tej sesji PDU.
  2. Sprawdź, czy została ustanowiona oddzielna sesja PDU z domyślnym internetem i że aplikacje w profilu osobistym używają sesji PDU.

Sprzedaż dodatkowa – fragment kodu 5G

Funkcja częściowej sprzedaży dodatkowej w sieci 5G, dostępna od Android 14-QPR1 pozwala operatorom oferować ulepszoną sieć możliwości (opóźnienia i przepustowości) dzięki podziałowi sieci 5G.

Funkcja wycinania w ramach sprzedaży dodatkowej w sieci 5G korzysta z odpowiedzi TS.43 operatora serwer upoważnień, który wspomaga proces zakupu. Operatorzy mogą używać odpowiedzi na określić adres URL podglądu zakupu dokonanego przez operatora, wysłać dodatkowe dane do WebView i określić, czy wycinek jest udostępniony przez sieć operatora.

Operatorzy mogą dostosować działanie funkcji podziału na segmenty 5G za pomocą konfiguracje operatorów, które określają, czy żądania zakupu mogą być o możliwościach premium, o tym, kiedy aplikacje mogą żądać funkcji premium Platforma telefoniczna oczekuje na odpowiedzi użytkownika lub sieci.

Funkcja częściowej sprzedaży dodatkowej w ramach sieci 5G udostępnia interfejs o nazwie DataBoostWebServiceFlow, , który umożliwia komunikację między Androidem a komunikacją internetową operatora.

Rysunek 2 przedstawia proces zakupu sprzedaży dodatkowej z wykorzystaniem sieci 5G:

Proces zakupu – podział sprzedaży dodatkowej w ramach sieci 5G

Rysunek 2. Podział procesu zakupu w ramach sprzedaży dodatkowej w ramach sieci 5G.

TS.43 Proces nadawania uprawnień

Gdy użytkownik wysyła żądanie o zwiększone możliwości sieciowe, platforma żąda konfiguracji uprawnień do usługi dla żądanego funkcje premium. Jeśli odpowiedź TS.43 jest prawidłowa, platforma usług telefonicznych używa przez pola odpowiedzi HTTP, aby wysłać żądanie zakupu.

Wycinek pól zakupu

Konfiguracja uprawnień TS.43 obejmuje poniższy zakup wycinka pola:

Stan uprawnienia

Klawisz: EntitlementStatus

Typ: int

Obsługiwane wartości: 0 (wyłączona), 1 (włączona), 2 (niezgodna), 3 (obsługa administracyjna), 4 (w cenie)

Stan obsługi administracyjnej

Klawisz: ProvStatus

Typ: int

Obsługiwane wartości: 0 (nieudostępniana), 1 (obsługa administracyjna), 2 (nieudostępniona) 3 (w toku)

Platforma telekomunikacyjna opiera się na połączeniu stanu uprawnień stanu obsługi administracyjnej w celu określenia bieżącego stanu zakupu wycinka. Wynik może być jednym z tych elementów:

Jeśli stan uprawnienia to 1 (włączone) i stan obsługi administracyjnej to 0 (nieudostępniona), platforma telekomunikacyjna wyświetla powiadomienie o sprzedaży dodatkowej użytkownika do wykupienia bonusu za pomocą komponentu WebView operatora. Tabela poniżej opisuje sposób działania platformy telefonii w przypadku różnych kombinacji funkcji wartości stanu obsługi administracyjnej i uprawnień.

Stan obsługi administracyjnej
Bez obsługi administracyjnej (0) Obsługiwane (1)) Niedostępny (2) W toku (3)
Stan uprawnienia Wyłączone (0) Niepowodzenie Niepowodzenie Niepowodzenie Niepowodzenie
Włączone (1) Pokaż komponent WebView Już mam ten produkt Już mam ten produkt W toku
Niezgodne (2) Niepowodzenie Niepowodzenie Niepowodzenie Niepowodzenie
Udostępniam (3) Błąd operatora Błąd operatora W toku W toku
Uwzględnione (4) Błąd operatora Już mam ten produkt Już mam ten produkt Błąd operatora

Pola przepływu usługi

Odpowiedź TS.43 określa adres URL, dane użytkownika i typ treści, które mają zostać dostosowane zakup przez operatora w komponencie WebView. Jeśli typ treści nie jest określony, parametr Adres URL jest wczytywany jako żądanie GET. Jeśli dane użytkownika istnieją, są dołączane do sekcji adresu URL jako parametru zapytania (np. https://www.android.com?encodedValue=Base64EncodedUserData); a jeśli nie istnieje, adres URL jest używany w obecnej formie (na przykład https://www.android.com).
Jeśli typ treści jest określony w formacie JSON lub XML, adres URL jest wczytywany jako plik POST, a dane użytkownika (dekodowane, jeśli są zakodowane w formacie Base64) są wysyłane jako dane dla żą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ślone), 1 (JSON), 2 (XML)

Konfiguracje operatora

Oto konfiguracje operatorów pozwalające dostosować jak działa funkcja sprzedaży dodatkowej w ramach wycinków w sieci 5G.

KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY

Lista obsługiwanych funkcji premium. To jest tablica całkowita wartości TelephonyManager.PremiumCapability Te funkcje premium mają taką samą wartość jak odpowiednie NetworkCapabilities.NetCapability zajęcia. Jeśli wymagana jest funkcja premium, która nie jest uwzględniona w , żądanie zakupu kończy się niepowodzeniem i CARRIER_DISABLED wynik.

W Androidzie 14 tylko PREMIUM_CAPABILITY_PRIORITIZE_LATENCY jest obsługiwane.

KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT

Maksymalna dzienna liczba wyświetleń powiadomienia o sprzedaży dodatkowej użytkownika. Jeśli zostanie osiągnięty dzienny limit, powiadomienie o sprzedaży dodatkowej nie będzie się wyświetlać, żądania zakupu (w tym żądania serwera uprawnień) są ograniczane do o północy następnego dnia. Prośby o zakup zgłoszone po maksymalnej dziennej wartości to zabrakło 10 punktów PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED wynik.

KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT

Maksymalna miesięczna liczba wyświetleń powiadomienia o sprzedaży dodatkowej po stronie użytkownika. Jeśli osiągnięto limit miesięczny, powiadomienie o sprzedaży dodatkowej się nie wyświetli i żądania zakupu (w tym żądania serwera uprawnień) są ograniczane. aż do pierwszego dnia kolejnego miesiąca. Prośby o zakup zgłoszone po osiągnięto limit miesięczny, niepowodzenie z PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED wynik.

KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING

URL zakupu u operatora rezerwowego, który zostanie wyświetlony użytkownikowi po kliknięciu powiadomienie o sprzedaży dodatkowej. Jeśli w odpowiedzi TS.43 nie ma adresu URL zakupu z serwera uprawnień, zamiast niej używana jest ta wartość. Jeśli ani URL z adresu URL odpowiedź TS.43 lub konfiguracja operatora jest prawidłowa, żądanie zakupu zalicza się do PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED wynik.

KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL

Określa, czy zezwolić na zakup funkcji premium, gdy urządzenie jest połączony z technologią LTE. Jeśli true, prośby o zakup mogą być na kanale LTE i nowym radiu (NR). Jeśli false, prośby o zakup można wysyłać tylko w NR, a prośby wysyłane przez LTE kończą się niepowodzeniem z PURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE wynik.

KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG

Czas do wyświetlenia użytkownikowi powiadomienia o sprzedaży dodatkowej o zakupie przed zostanie ona automatycznie anulowana. Po anulowaniu powiadomienia kolejne są ograniczane i kończą się niepowodzeniem, PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED wynik.

KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Czas, po którym należy ograniczać kolejne żądania zakupu niepowodzenie z powodu przekroczenia limitu czasu lub anulowania przez użytkownika. Jeśli użytkownik nie kliknie powiadomienie o zakupie w ramach limitu czasu określonego przez KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG a jeśli anulują lub odrzuci powiadomienie, rozpocznie się odliczanie. Choć ten licznik czasu jest aktywny, żądania zakupu kończą się niepowodzeniem PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED wynik.

KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG

Czas, po którym należy ograniczać kolejne żądania zakupu awarii po stronie operatora lub sieci. Jeśli weryfikacja uprawnień nie powiedzie się, adres URL jest niedostępny lub adres URL zakupu od operatora wskazuje na niepowodzenie, to ponowienie Włączy się minutnik. Gdy licznik czasu jest aktywny, żądania zakupu kończą się niepowodzeniem PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED wynik.

KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG

Czas, w którym sieć musi skonfigurować konfigurację podziału w celu zakupu funkcji premium. W tym okresie kolejne zakupy są blokowane i zwracają PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP wynik. Jeśli sieci nie uda się w odpowiednim czasie skonfigurować dzielenia na czas, aplikacje mogą ponownie poprosić o zakup funkcji premium. W przypadku połączeń telefonicznych nie są brane pod uwagę zakup zostanie sfinalizowany, dopóki nie zostanie wysłana odpowiednia konfiguracja dzielenia, bez względu na to, czy użytkownik zapłacił operatorowi, czy nie.

Interfejs JavaScript

Gdy użytkownik kliknie powiadomienie o wzmocnieniu działania sieci, obiekt WebView z adres URL zakupu przez operatora jest wyświetlany użytkownikowi. Operatorzy mogą używać interfejsów API podane w DataBoostWebServiceFlow Interfejs JavaScript na stronie zakupu do komunikowania się z wycinkiem zakupu aplikacji.

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

Jeśli zakup się powiedzie, strona operatora musi powiadomić o tym wycinek. kup aplikację u sprzedawcy notifyPurchaseSuccessful() lub notifyPurchaseSuccessful(duration), gdzie duration jest parametrem opcjonalnym wskazujący zamierzony czas trwania wycinka.

Jeśli zakup się nie powiedzie, strona internetowa operatora musi powiadomić o tym wycinek zakup aplikacji za pomocą metody notifyPurchaseFailed(code, reason), gdzie code to kod błędu wskazujący przyczynę niepowodzenia, a reason to kod błędu czytelna dla człowieka przyczyna niepowodzenia, jeśli kod błędu jest nieznany.

Jeśli któraś z tych metod odpowiedzi nie zostanie wywołana, zakup nie zostanie wywołany uznaje się za ukończone, a żądanie zakupu w końcu mija limit czasu.

Oto prawidłowe kody błędów, które może zwrócić strona operatora w przypadku niepowodzenia zakupu:

Po sfinalizowaniu zakupu przewoźnik musi zaktualizować Reguły USP przy użyciu wycinka PRIORITIZE_LATENCY do urządzenia użytkownika.