Per i dispositivi con Android 12 o versioni successive, Android supporta il network slicing 5G, l'uso della virtualizzazione di rete per dividi singole connessioni di rete in più connessioni virtuali distinte che forniscono risorse diverse a tipi diversi di traffico. 5G il network slicing consente agli operatori di rete di dedicare una parte della rete a fornire caratteristiche specifiche per un particolare segmento di clienti. Android 12 introduce capacità di slicing della rete aziendale 5G, che gli operatori di rete possono fornire ai propri clienti aziendali:
Slicing dei dispositivi aziendali per i dispositivi completamente gestiti
Per le aziende che forniscono completamente gestito i dispositivi aziendali ai propri dipendenti, i provider di rete possono fornire loro o più sezioni della rete aziendale attive in cui il traffico sui dispositivi aziendali a cui vengono indirizzati gli utenti. A partire da Android 12, Android consente gli operatori per fornire sezioni aziendali tramite regole URSP, anziché impostare sezioni tramite gli APN.
Suddivisione di app aziendali aziendali per dispositivi con profili di lavoro
Per le aziende che utilizzano profilo di lavoro Android 12 consente ai dispositivi di indirizzare il traffico proveniente da tutte le app profilo di lavoro a una sezione della rete aziendale. Le aziende possono abilitare questa attraverso una Controller dei criteri dei dispositivi (DPC).
La soluzione per il profilo di lavoro offre un livello automatico di autenticazione di accesso richiesto dalle aziende per garantire che solo il traffico proveniente le app aziendali nel profilo di lavoro vengono indirizzate alla sezione della rete aziendale. Non è necessario modificare le app nel profilo di lavoro per richiedere esplicitamente il sezione di rete aziendale.
Come funziona lo slicing della rete 5G in AOSP
Android 12 introduce il supporto per lo slicing della rete 5G attraverso l'aggiunta al codebase telefonico in AOSP e Modulo di tethering per incorporare le API di connettività esistenti necessarie per il network slicing.
La piattaforma di telefonia Android fornisce API HAL e di telefonia per supportare slicing basato sulle richieste di rete inviate dal codice di networking principale e dal 5G di slicing nel modem. La Figura 1 descrive i componenti del 5G funzionalità di network slicing.
Figura 1. Architettura di network slicing 5G in AOSP.
La piattaforma di telefonia e connettività supporta:
- Conversione delle richieste di rete per le categorie di sezioni in descrittori del traffico che vengono poi passati al modem per la corrispondenza del traffico URSP e il routing selezione
- Se la sezione della rete aziendale non è quella predefinita, disponibili
- Indirizzare il traffico da tutte le app del profilo di lavoro al connessione corrispondente
Supporto dello slicing aziendale
- Rilevamento della presenza di un profilo di lavoro sul dispositivo
- Verifica delle autorizzazioni o delle indicazioni di percorso fornite dal DPC utilizzato dall'amministratore IT dell'azienda
Il servizio di rete di base include le seguenti modifiche al tethering in Android 12:
- Aggiunge la maggior parte di
android.net.*
classi API pubbliche o di sistema al tethering modulo Espande i limiti del modulo di tethering per includere:
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
Sposta il codice VPN fuori dal modulo di tethering
Android 12 sposta il codice con le seguenti funzionalità al modulo Tethering:
- Ricezione di richieste da app per connessioni di rete
- Ricezione di richieste dal sistema (ad esempio, "posiziona queste app in un sezione enterprise"; (introdotto in Android 12)
- Invio di richieste dal sistema al codice di telefonia che tenta di configurare reti o sezioni usando l'API HAL e il modem
- Informare su come instradare il traffico in base alle singole app (introdotte nella Android 12
- Informare le app su cosa succede al loro traffico di rete tramite
ConnectivityManager
API comeNetworkCallback
,getActiveNetwork
,getNetworkCapabilities
.
Implementazione
Per supportare lo slicing 5G su un dispositivo, quest'ultimo deve avere un modem che supporti
l'IRadio 1.6 HAL, che ha
setupDataCall_1_6
tramite Google Cloud CLI
o tramite l'API Compute Engine. Questa API configura una connessione dati e include i seguenti parametri
per il supporto dello slicing 5G:
trafficDescriptor
: specifica il descrittore di traffico inviato al modemsliceInfo
: specifica le informazioni sulla sezione di rete da utilizzare in caso di passaggio da EPDG a 5GmatchAllRuleAllowed
: specifica se utilizzare un URSP match-all predefinito è consentita. Telephony imposta questo valore su true per le reti predefinite ma non per le sezioni. La regola Corrispondenza tutto viene applicata al valore predefinito reti. Quando un'app richiede una sezione specifica che non è disponibile, la sezione specifica viene segnalata come non disponibile. Per per le app aziendali, il framework di telefonia può tornare al se la rete aziendale non è disponibile.
Il modem deve inoltre implementare
getSlicingConfig
a meno che non venga segnalata come non supportata dal
getHalDeviceCapabilities
tramite Google Cloud CLI
o tramite l'API Compute Engine.
Requisiti aziendali
Di seguito vengono descritti i requisiti per le aziende per l'utilizzo del network slicing 5G sui dispositivi in un'implementazione aziendale di Android.
- Assicurati che i dispositivi completamente gestiti o per i dipendenti siano configurati con un profilo di lavoro
supportano il protocollo 5G SA con modem che supportano
setupDataCall_1_6
tramite Google Cloud CLI o tramite l'API Compute Engine. - Collabora con il partner per la configurazione e il rendimento delle sezioni o per lo SLA (accordo sul livello del servizio) caratteristiche.
Attiva lo slicing 5G sui dispositivi configurati con un profilo di lavoro
Per i dispositivi configurati con profili di lavoro, lo slicing della rete 5G è disattivato per
per impostazione predefinita in AOSP. Per abilitare lo slicing della rete, gli amministratori IT aziendali possono attivare o
il routing del traffico delle app del profilo di lavoro alla sezione della rete aziendale su un
singolo dipendente tramite il DPC EMM, che utilizza
setPreferentialNetworkServiceEnabled
nel
DevicePolicyManager
(DPM)
API (introdotta in Android 12).
I fornitori EMM con DPC personalizzati devono integrare l'API DevicePolicyManager
per
fornire assistenza ai clienti aziendali.
Regole URSP
Questa sezione include informazioni per gli operatori sulla configurazione delle regole URSP per diverse categorie di sezioni tra cui impresa, CBS, bassa latenza, e con larghezza di banda elevata. Quando configuri le regole URSP per le diverse categorie di prodotti, gli operatori devono utilizzare le seguenti e i relativi valori.
ID | Valore | Descrizione |
---|---|---|
ID OS | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
L'OSId per Android è un UUID versione 5 generato con lo spazio dei nomi ISO OID e il nome "Android". |
Gli operatori devono configurare le regole URSP per ogni sezione di traffico con il traffico
descrittore come "OS Id + OS App Id type". Ad esempio, la sezione "ENTERPRISE"
la sezione deve avere il valore
0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
.
Questo valore è una concatenazione di OSId, la lunghezza di OSAppId (0x0A
),
e OSAppId.
Per ulteriori informazioni sul tipo di componente descrittore di traffico, consulta
3GPP TS 24.526 Tabella 5.2.1.
Nella tabella seguente vengono descritti i valori OSAppId per le diverse categorie di sezioni.
Categoria sezione | ID appOS | Descrizione |
---|---|---|
AZIENDE | 0x454E5445525052495345 |
OSAppId è una rappresentazione array di byte della stringa "ENTERPRISE" |
AZIENDE2 | 0x454E544552505249534532 |
OSAppId è una rappresentazione array di byte della stringa "ENTERPRISE2" |
AZIENDE3 | 0x454E544552505249534533 |
OSAppId è una rappresentazione array di byte della stringa "ENTERPRISE3" |
AZIENDE4 | 0x454E544552505249534534 |
OSAppId è una rappresentazione array di byte della stringa "ENTERPRISE4" |
AZIENDE5 | 0x454E544552505249534535 |
OSAppId è una rappresentazione array di byte della stringa "ENTERPRISE5" |
CBS | 0x434253 |
OSAppId è una rappresentazione array di byte della stringa "CBS" |
PRIORITIZZA_LATENCIA | 0x5052494f524954495a455f4c4154454e4359 |
OSAppId è una rappresentazione array di byte della stringa "PRIORITIZE_LATENCY" |
PRIORITIZE_BANDLARGHEZZA | 0x5052494f524954495a455f42414e445749445448 |
OSAppId è una rappresentazione array di byte della stringa "PRIORITIZE_BANDWIDTH" |
Regole URSP di esempio
Le seguenti tabelle mostrano esempi di regole URSP per le aziende, CBS, bassa latenza, larghezza di banda elevata e traffico predefinito.
Aziende 1
Il supporto per Enterprise 1 è disponibile su Android 12 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico di ENTERPRISE1:
Regola URSP n. 1 (enterprise1) | |
---|---|
Precedenza | 1 (0x01) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | azienda |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | azienda |
Aziende 2
Il supporto per Enterprise 2 è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico di ENTERPRISE2:
Regola URSP n. 2 (enterprise2) | |
---|---|
Precedenza | 2 (0x02) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | impresa2 |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | impresa2 |
Aziende 3
Il supporto per Enterprise 3 è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico di ENTERPRISE3:
Regola URSP n. 3 (enterprise3) | |
---|---|
Precedenza | 3 (0x03) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | impresa3 |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | impresa3 |
Aziende 4
Il supporto per Enterprise 4 è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico di ENTERPRISE4:
Regola URSP n. 4 (enterprise4) | |
---|---|
Precedenza | 4 (0x04) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | impresa4 |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | impresa4 |
Aziende 5
Il supporto per Enterprise 5 è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico di ENTERPRISE5:
Regola URSP n. 5 (enterprise5) | |
---|---|
Precedenza | 5 (0x05) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | impresa5 |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | impresa5 |
CBS
Il supporto per CBS è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico CBS:
Regola URSP n. 6 (CBS) | |
---|---|
Precedenza | 6 (0x06) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E4703434253 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | cbs |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | cbs |
Bassa latenza
Il supporto per Bassa latenza è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico LOW_LATENCY:
Regola URSP n. 7 (bassa latenza) | |
---|---|
Precedenza | 7 (0x07) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | latenza |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | latenza |
Larghezza di banda elevata
Il supporto per la larghezza di banda elevata è disponibile in Android 13 e versioni successive. Di seguito è riportato un esempio di regola URSP per il traffico HIGH_BANDWIDTH:
Regola URSP n. 8 (larghezza di banda elevata) | |
---|---|
Precedenza | 8 (0x08) |
Descrittore di traffico n. 1 | |
ID sistema operativo + tipo di ID app del sistema operativo | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Componente 2: DNN | per il caricamento |
Descrittore di selezione della route 2 | |
Precedenza | 2 (0x02) |
Componente 1: DNN | per il caricamento |
Predefinito
Regola URSP n. 9 (predefinita) | |
---|---|
Precedenza | 9 (0x09) |
Descrittore di traffico n. 1 | |
abbina tutti | N/D |
Descrittore di selezione della route n. 1 | |
Precedenza | 1 (0x01) |
Componente 1: S-NSSAI | Imposte:XX SD:AAAAAA |
Test
Per testare lo slicing della rete 5G, utilizza il seguente test manuale.
Per configurare un dispositivo per i test:
Assicurati che il criterio URSP sia configurato con una regola non predefinita che corrisponde alla categoria aziendale e che la selezione del percorso corrispondente il descrittore mappa la categoria dell'impresa alla sezione enterprise; e un regola predefinita che indirizza il traffico alla sezione internet predefinita.
Assicurati che sul dispositivo sia configurato un profilo di lavoro.
Attivare l'utilizzo del network slicing tramite DPC (controller criteri dispositivi)
Per testare il comportamento di suddivisione della rete 5G:
- Verifica che venga stabilita una sessione PDU con la sezione Enterprise (ad ad esempio utilizzando un indirizzo IP specifico) e che le app nel profilo di lavoro utilizzino della sessione PDU.
- Verifica che venga stabilita una sessione PDU separata con la connessione internet predefinita e che le app nel profilo personale utilizzino la sessione PDU.
upsell 5G
La funzionalità di upsell per il 5G, disponibile da Android 14-QPR1 consente agli operatori di offrire una rete funzionalità (latenza e larghezza di banda) per gli utenti attraverso lo slicing della rete 5G.
La funzionalità di upsell per lo slicing 5G utilizza la risposta TS.43 dell'operatore server dei diritti per guidare il flusso di acquisto. Gli operatori possono utilizzare la risposta a specificare l'URL per il componente WebView per l'acquisto dell'operatore, inviare dati aggiuntivi al e indica se è stato eseguito il provisioning della sezione e se è disponibile nella dell'operatore telefonico.
Gli operatori possono personalizzare il comportamento della funzionalità di upsell per lo slicing 5G utilizzando configurazioni dell'operatore, che controllano se le richieste di acquisto apportate, quando le app possono richiedere funzionalità premium e per quanto tempo Il framework di telefonia attende le risposte dell'utente o della rete.
La funzionalità di upsell per il 5G offre un'interfaccia chiamata
DataBoostWebServiceFlow
,
per consentire la comunicazione tra Android e l'operatore WebView.
La figura 2 mostra il flusso di acquisto per l'upsell in 5G:
Figura 2. Flusso di acquisto per l'upsell in 5G.
Procedura relativa ai diritti TS.43
Quando un utente richiede funzionalità di rete avanzate, il servizio richiede la configurazione dei diritti di servizio per l'oggetto funzionalità premium. Se la risposta TS.43 è valida, il framework di telefonia utilizza dei campi della risposta HTTP per generare la richiesta di acquisto.
Campi acquisto sezioni
La configurazione del diritto TS.43 include l'acquisto di sezioni riportate di seguito campi:
- Stato diritto
Tasto:
EntitlementStatus
Tipo:
int
Valori supportati:
0
(disattivato),1
(attivato),2
(non compatibile),3
(provisioning),4
(incluso)- Stato del provisioning
Tasto:
ProvStatus
Tipo:
int
Valori supportati:
0
(provisioning non eseguito),1
(provisioning eseguito),2
(non disponibile),3
(in corso)
Il framework di telefonia utilizza la combinazione di stato del diritto e stato del provisioning per determinare l'attuale stato di acquisto delle sezioni. Il risultato può essere uno dei seguenti:
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
Se lo stato del diritto è 1
(attivato) e lo stato del provisioning è 0
(non sottoposto a provisioning), il framework di telefonia mostra una notifica di upsell a
all'utente di acquistare il booster tramite la libreria WebView dell'operatore. La tabella seguente
descrive il comportamento del framework di telefonia per diverse combinazioni di
di provisioning e dello stato dei diritti.
Stato provisioning | |||||
---|---|---|---|---|---|
Provisioning non effettuato (0 ) |
Provisioning effettuato (1 |
Non disponibile (2 ) |
In corso (3 ) |
||
Stato del diritto | Disattivata (0 ) |
Operazione non riuscita | Operazione non riuscita | Operazione non riuscita | Operazione non riuscita |
Attivate (1 ) |
Mostra WebView | Già acquistato | Già acquistato | In corso | |
Incompatibile (2 ) |
Operazione non riuscita | Operazione non riuscita | Operazione non riuscita | Operazione non riuscita | |
Provisioning in corso (3 ) |
Errore dell'operatore | Errore dell'operatore | In corso | In corso | |
Inclusi (4 ) |
Errore dell'operatore | Già acquistato | Già acquistato | Errore dell'operatore |
Campi del flusso di servizio
La risposta TS.43 specifica l'URL, i dati utente e il tipo di contenuti da personalizzare
il comportamento di acquisto del componente WebView dell'operatore. Se il tipo di contenuti non è specificato,
L'URL viene caricato come richiesta GET. Se i dati utente esistono, vengono aggiunti alla
URL come parametro di ricerca (ad es.
https://www.android.com?encodedValue=Base64EncodedUserData
); e in caso contrario
esiste, l'URL viene utilizzato così com'è (ad esempio, https://www.android.com
).
Se il tipo di contenuti viene specificato in formato JSON o XML, l'URL viene caricato come
una richiesta POST e i dati utente (decodificati se codificati in Base 64) vengono inviati come
i dati per la richiesta POST.
- URL
Tasto:
ServiceFlow_URL
Tipo:
String
Esempio:
"https://www.android.com"
- Dati utente
Tasto:
ServiceFlow_UserData
Tipo:
String
Esempio:
"encodedValue=Base64EncodedUserData"
- Tipo di contenuti
Tasto:
ServiceFlow_ContentsType
Tipo:
String
Valori supportati:
0
(non specificato),1
(JSON),2
(XML)
Configurazioni dell'operatore
Di seguito sono riportate le configurazioni degli operatori disponibili per personalizzare comportamento della funzionalità di upsell per il 5G.
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY
Un elenco di funzionalità premium supportate. Si tratta di un array int
TelephonyManager.PremiumCapability
Queste funzionalità premium condividono lo stesso valore delleNetworkCapabilities.NetCapability
. Se è richiesta una funzionalità premium che non è inclusa in questo configurazione, la richiesta di acquisto non va a buon fineCARRIER_DISABLED
o il risultato finale.In Android 14, solo
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
è supportato.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
Il numero massimo giornaliero di volte in cui la notifica di upsell viene mostrata a per l'utente. Se viene raggiunto il massimo giornaliero, la notifica di upsell non viene visualizzata. le richieste di acquisto (incluse le richieste del server dei diritti) vengono limitate fino a quando mezzanotte del giorno successivo. Le richieste di acquisto effettuate dopo il limite massimo giornaliero è raggiunto non riesce con
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
o il risultato finale.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT
Il numero massimo mensile di volte in cui viene mostrata la notifica di upsell di acquisto all'utente. Se viene raggiunto il massimo mensile, la notifica di upsell non viene mostrata e le richieste di acquisto (incluse le richieste del server dei diritti) fino al primo giorno del mese successivo. Le richieste di acquisto effettuate dopo il viene raggiunto il limite massimo mensile non riuscito con
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
o il risultato finale.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
L'URL di acquisto dell'operatore di riserva da mostrare all'utente quando fa clic sul pulsante notifica di upsell. Se l'URL di acquisto non è presente nella risposta TS.43 dal server dei diritti, viene utilizzato questo valore. Se né l'URL di la risposta TS.43 o la configurazione dell'operatore siano valide, la richiesta di acquisto non funziona
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED
o il risultato finale.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL
Indica se consentire l'acquisto di funzionalità premium quando il dispositivo viene connessa a Long-Term Evolution (LTE). Se
true
, le richieste di acquisto possono essere sia su LTE sia su New Radio (NR). Sefalse
, le richieste di acquisto possono essere effettuate solo in caso di risposta senza risposta, mentre quelle effettuate su LTE non vanno a buon fine conPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
o il risultato finale.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
La quantità di tempo necessaria per mostrare all'utente la notifica di upsell di acquisto prima del giorno viene annullato automaticamente. Quando la notifica viene annullata, vengono limitate e non vanno a buon fine
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
o il risultato finale.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Il periodo di tempo in cui le successive richieste di acquisto devono essere limitate dopo un errore dovuto a timeout o annullamento dell'utente. Se l'utente non fa clic la notifica di upsell entro il timeout specificato da
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
oppure, se annulla o ignora la notifica, viene avviato il timer di backoff. Mentre questo timer è attivo, le richieste di acquisto non vanno a buon fine ePURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
o il risultato finale.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Il periodo di tempo in cui le successive richieste di acquisto devono essere limitate dopo un errore dovuto all'operatore o alla rete. Se la verifica della presenza di diritti ha esito negativo, l'URL non è disponibile oppure l'URL di acquisto dell'operatore indica un errore, il backoff il timer si avvia. Mentre questo timer è attivo, le richieste di acquisto non vanno a buon fine con il
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
o il risultato finale.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG
Il periodo di tempo entro il quale la rete deve impostare una configurazione di slicing per l'acquisto della funzionalità premium. Durante questo periodo, l'acquisto successivo vengono bloccate e restituiscono il valore
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP
o il risultato finale. Se la rete non imposta in tempo una configurazione di slicing, le app possono richiedere di nuovo l'acquisto di funzionalità premium. Il servizio di telefonia non considera acquisto completato finché non viene inviata la configurazione di suddivisione corrispondente, indipendentemente dal fatto che l'utente abbia pagato l'operatore o meno.
Interfaccia JavaScript
Quando l'utente fa clic sulla notifica di boost di rete, viene visualizzato un oggetto WebView
con
l'URL di acquisto dell'operatore viene mostrato all'utente. Gli operatori possono utilizzare le API
forniti nel
DataBoostWebServiceFlow
Interfaccia JavaScript nel sito web di acquisto per comunicare con la sezione
acquistare l'app.
Il sito web del corriere può ottenere la funzionalità premium richiesta attraverso il metodo
getRequestedCapability()
.
Se l'acquisto va a buon fine, il sito web del corriere deve inviare una notifica alla sezione
acquista l'app tramite notifyPurchaseSuccessful()
oppure
notifyPurchaseSuccessful(duration)
dove duration
è un parametro facoltativo
che indica la durata prevista della sezione.
Se l'acquisto non va a buon fine, il sito web del corriere deve inviare una notifica alla sezione
acquistare app con il metodo notifyPurchaseFailed(code, reason)
, dove code
è il codice di errore che indica il motivo dell'errore, mentre reason
è il
motivo leggibile dell'errore se il codice di errore è sconosciuto.
Se nessuno di questi metodi di risposta viene chiamato, l'acquisto non verrà considerata completata e alla fine la richiesta di acquisto scade.
Di seguito sono riportati i codici di errore validi che il sito web del corriere può restituire per errore di acquisto:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
Al termine dell'acquisto, l'operatore deve aggiornare le
Regole URSP
con la sezione PRIORITIZE_LATENCY
al dispositivo dell'utente.