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.
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 jakNetworkCallback
,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 modemusliceInfo
: określa informacje o wycinku sieci, który ma być używany w przypadku przejścia z programu EPDG na sieć 5GmatchAllRuleAllowed
: 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:
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.
Upewnij się, że na urządzeniu jest skonfigurowany profil służbowy.
Wyraź zgodę na stosowanie podziału sieci przez DPC
Aby przetestować podział sieci 5G, wykonaj te czynności:
- 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.
- 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:
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:
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESS
PURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILED
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
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 odpowiednieNetworkCapabilities.NetCapability
zajęcia. Jeśli wymagana jest funkcja premium, która nie jest uwzględniona w , żądanie zakupu kończy się niepowodzeniem iCARRIER_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ślifalse
, prośby o zakup można wysyłać tylko w NR, a prośby wysyłane przez LTE kończą się niepowodzeniem zPURCHASE_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ę niepowodzeniemPURCHASE_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:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
Po sfinalizowaniu zakupu przewoźnik musi zaktualizować
Reguły USP
przy użyciu wycinka PRIORITIZE_LATENCY
do urządzenia użytkownika.