Para dispositivos con Android 12 o versiones posteriores, Android proporciona compatibilidad con segmentación de red 5G, el uso de virtualización de red para Divide las conexiones de una sola red en varias conexiones virtuales distintas que proporcionan diferentes cantidades de recursos a distintos tipos de tráfico. 5G la segmentación de red permite a los operadores de red dedicar una parte de ella Proporcionar funciones específicas para un segmento determinado de clientes. Android 12 presenta las siguientes capacidades de segmentación de red 5G empresarial, a sus clientes empresariales:
Segmentación de dispositivos empresariales para dispositivos completamente administrados
Para empresas que proporcionan completamente administrado los dispositivos de la empresa a sus empleados, los proveedores de red pueden brindarles o porciones de red empresarial más activas donde el tráfico en los dispositivos a los que se enrutan los usuarios. A partir de Android 12, Android permite que los operadores para proporcionar secciones empresariales a través de reglas URSP, en lugar de configurar a través de APNS.
Segmentación de apps empresariales para dispositivos con perfiles de trabajo
Para las empresas que usan perfil de trabajo Android 12 permite que los dispositivos enruten el el tráfico proveniente de todas las apps del perfil de trabajo a una porción de red empresarial. Las empresas pueden habilitar gracias a una Controlador de política de dispositivo (DPC).
La solución de perfil de trabajo ofrece un nivel automático de autenticación y el control de acceso que requieren las empresas para garantizar que solo el tráfico de en el perfil de trabajo se enrutan a la porción de red empresarial. No es necesario modificar las apps del perfil de trabajo para solicitar explícitamente porción de red empresarial.
Cómo funciona la segmentación de red 5G en AOSP
Android 12 incluye compatibilidad con la segmentación de red 5G a través de adiciones a la base de código de telefonía en AOSP y el Módulo de conexión mediante dispositivo móvil incorporar las APIs de conectividad existentes necesarias para la segmentación de red.
La plataforma de telefonía de Android proporciona la HAL y las APIs de telefonía para admitir Segmentación basada en solicitudes de red presentadas por el código de red principal y la red 5G de procesamiento de datos en el módem. En la figura 1, se describen los componentes de la red 5G. segmentación de red.
Figura 1: Arquitectura de segmentación de red 5G en AOSP.
La plataforma de telefonía y conectividad admite lo siguiente:
- Cómo convertir solicitudes de red para categorías de Slice en categorías descriptores de tráfico que luego se pasan al módem para la coincidencia del tráfico URSP y selección
- Recurre a la red predeterminada si la porción de red empresarial no está disponible
- Enruta el tráfico de todas las apps del perfil de trabajo al conexión correspondiente
Compatibilidad con la segmentación empresarial
- Cómo detectar la presencia de un perfil de trabajo en el dispositivo
- Verificar los permisos o las instrucciones sobre cómo llegar que proporciona la DPC que usa el administrador de TI de la empresa
El servicio principal de redes incluye los siguientes cambios en la conexión mediante dispositivo móvil en Android 12:
- Agrega la mayoría de las clases de API públicas o del sistema
android.net.*
a la conexión mediante dispositivo móvil módulo Expande los límites del módulo de conexión mediante dispositivo móvil para incluir lo siguiente:
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
Quita el código de VPN del módulo de conexión mediante dispositivo móvil
Android 12 mueve código con las siguientes capacidades al módulo de conexión mediante dispositivo móvil:
- Recepción de solicitudes de aplicaciones de conexiones de red
- Recibir solicitudes del sistema (por ejemplo, "colocar estas apps en un porción empresarial"; que se introdujo en Android 12)
- Envío de solicitudes del sistema al código telefónico con el que se intenta realizar configurar redes o porciones mediante la API de HAL y el módem
- Informando a netd cómo enrutar el tráfico por app (presentado en Android 12)
- Informa a las apps qué sucede con su tráfico de red mediante
Las APIs de
ConnectivityManager
, comoNetworkCallback
,getActiveNetwork
,getNetworkCapabilities
Implementación
Para admitir la segmentación de 5G en un dispositivo, este debe tener un módem que admita
la HAL de IRadio 1.6 que tiene el
setupDataCall_1_6
API de gcloud. Esta API configura una conexión de datos y, además, incluye los siguientes parámetros
para admitir la segmentación de 5G:
trafficDescriptor
: Especifica el descriptor de tráfico que se envía al módem.sliceInfo
: especifica la información para la porción de red que se utilizará en caso de traspaso de EPDG a 5GmatchAllRuleAllowed
: Especifica si se usa una URSP predeterminada para hacer coincidir todos los elementos. regla de firewall. Telephony establece esta opción como verdadera para las redes predeterminadas pero no para las porciones. La regla de coincidencia en todo se aplica al valor predeterminado redes. Cuando una app solicita una porción específica que no está disponible, la porción específica se informa como no disponible. Para apps empresariales, el framework de telefonía puede volver a la configuración si la empresarial no está disponible.
Los módems también deben implementar
getSlicingConfig
a menos que se informe que no es compatible con
getHalDeviceCapabilities
API de gcloud.
Requisitos de Enterprise
A continuación, se describen los requisitos para que las empresas usen la segmentación de red 5G. en dispositivos en una implementación de Android Enterprise.
- Asegúrate de que los dispositivos completamente administrados o de empleados estén configurados con un perfil de trabajo.
admiten redes 5G SA con módems que admitan
setupDataCall_1_6
API de gcloud. - Trabaja con un socio operador en la configuración y el rendimiento de los segmentos (ANS) del usuario.
Habilita la segmentación de 5G en dispositivos configurados con un perfil de trabajo
En dispositivos configurados con perfiles de trabajo, la segmentación de red 5G se desactiva
predeterminada en AOSP. Para habilitar la segmentación de red, los administradores de TI empresariales pueden activar o
fuera del enrutamiento de tráfico de la app del perfil de trabajo hacia la porción de red empresarial en una
por empleado a través del DPC de EMM, que usa el
setPreferentialNetworkServiceEnabled
en la
DevicePolicyManager
(DPM)
API (presentada en Android 12).
Los proveedores de EMM con DPC personalizados deben integrar la API de DevicePolicyManager
para
a los clientes empresariales.
Reglas de la URSP
En esta sección, se incluye información para los operadores sobre la configuración de las reglas de la URSP para categorías diferentes de Slice, como Enterprise, CBS, baja latencia, y el tráfico de ancho de banda alto. Cuando configuras reglas URSP para diferentes categorías de slices, los operadores deben usar el siguiente código de salida.
ID | Valor | Descripción |
---|---|---|
ID de OS | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
El OSId para Android es un UUID de la versión 5 generado con la ISO del espacio de nombres OID y el nombre "Android". |
Los operadores deben configurar reglas URSP para cada segmento de tráfico con el tráfico
"OS Id + OS App Id type". Por ejemplo, “EMPRESARIAL”
porción debe tener un valor de
0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
Este valor es una concatenación del OSId, la longitud del OSAppId (0x0A
).
y el OSAppId.
Para obtener más información sobre el tipo de componente del descriptor de tráfico, consulta
3GPP TS 24.526 Tabla 5.2.1
En la siguiente tabla, se describen los valores de OSAppId para diferentes categorías de segmentos.
Categoría de la porción | ID de la aplicación de SO | Descripción |
---|---|---|
EMPRESARIAL | 0x454E5445525052495345 |
El OSAppId es una representación de array de bytes de la cadena “ENTERPRISE” |
EMPRESA2 | 0x454E544552505249534532 |
El OSAppId es una representación de array de bytes de la string “ENTERPRISE2” |
EMPRESA3 | 0x454E544552505249534533 |
El OSAppId es una representación de array de bytes de la string “ENTERPRISE3” |
EMPRESA4 | 0x454E544552505249534534 |
El OSAppId es una representación de array de bytes de la cadena “ENTERPRISE4”. |
EMPRESA5 | 0x454E544552505249534535 |
El OSAppId es una representación de array de bytes de la cadena “ENTERPRISE5”. |
CBS | 0x434253 |
El OSAppId es una representación de array de bytes de la cadena "CBS" |
PRIORIZAR_LATENCIA | 0x5052494f524954495a455f4c4154454e4359 |
El OSAppId es una representación de array de bytes de la string “PRIORITIZE_LATENCY” |
PRIORIZAR_ANCHO DE BANDA | 0x5052494f524954495a455f42414e445749445448 |
El OSAppId es una representación de array de bytes de la string “PRIORITIZE_BANDWIDTH” |
Ejemplos de reglas de URSP
En las siguientes tablas, se muestran ejemplos de reglas de URSP para empresas: CBS, baja latencia, ancho de banda alto y tráfico predeterminado.
Enterprise 1
La compatibilidad con Enterprise 1 está disponible en Android 12 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico de ENTERPRISE1:
Regla de URSP n° 1 (empresa 1) | |
---|---|
Prioridad | 1 (0x01) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | enterprise |
Descriptor de selección de ruta núm. 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | enterprise |
Enterprise 2
La compatibilidad con Enterprise 2 está disponible en Android 13 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico de ENTERPRISE2:
Regla de URSP n° 2 (enterprise2) | |
---|---|
Prioridad | 2 (0x02) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | empresa2 |
Descriptor de selección de ruta n.o 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | empresa2 |
Enterprise 3
La compatibilidad con Enterprise 3 está disponible en Android 13 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico de ENTERPRISE3:
Regla de URSP 3 (enterprise3) | |
---|---|
Prioridad | 3 (0x03) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | empresa3 |
Descriptor de selección de ruta n.o 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | empresa3 |
Enterprise 4
La compatibilidad con Enterprise 4 está disponible en Android 13 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico de ENTERPRISE4:
Regla de URSP n° 4 (enterprise4) | |
---|---|
Prioridad | 4 (0x04) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | Enterprise4 |
Descriptor de selección de ruta n.o 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | Enterprise4 |
Enterprise 5
La compatibilidad con Enterprise 5 está disponible en Android 13 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico ENTERPRISE5:
Regla de URSP n° 5 (enterprise5) | |
---|---|
Prioridad | 5 (0x05) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | Enterprise5 |
Descriptor de selección de ruta n.o 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | Enterprise5 |
CBS
La compatibilidad con CBS está disponible en Android 13 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico de CBS:
Regla n.o 6 de la URSP (CBS) | |
---|---|
Prioridad | 6 (0x06) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E4703434253 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | cbs |
Descriptor de selección de ruta núm. 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | cbs |
Latencia baja
La compatibilidad con la latencia baja está disponible en Android 13 y versiones posteriores. A continuación, se muestra un ejemplo de una regla de URSP para el tráfico LOW_LATENCY:
Regla de URSP 7 (latencia baja) | |
---|---|
Prioridad | 7 (0x07) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | latencia |
Descriptor de selección de ruta núm. 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | latencia |
Ancho de banda alto
La compatibilidad con el ancho de banda alto está disponible en Android 13 y versiones posteriores. La siguiente es una regla URSP de ejemplo para el tráfico HIGH_BANDWIDTH:
Regla de URSP n° 8 (ancho de banda alto) | |
---|---|
Prioridad | 8 (0x08) |
Descriptor de tráfico n.o 1 | |
ID de SO + tipo de ID de app del SO | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Componente n.o 2: DNN | ancho de banda |
Descriptor de selección de ruta n.o 2 | |
Prioridad | 2 (0x02) |
Componente 1: DNN | ancho de banda |
Predeterminado
Regla de URSP 9 (predeterminada) | |
---|---|
Prioridad | 9 (0x09) |
Descriptor de tráfico n.o 1 | |
hacer coincidir todos | N/A |
Descriptor de selección de ruta n.o 1 | |
Prioridad | 1 (0x01) |
Componente 1: S-NSSAI | SST:XX SD:YYAAAA |
Prueba
Para probar la segmentación de red 5G, usa la siguiente prueba manual.
Si deseas configurar un dispositivo para realizar pruebas, haz lo siguiente:
Asegúrate de que la política URSP esté configurada con una regla no predeterminada que coincide con la categoría de empresa y que la selección de ruta correspondiente el descriptor asigna la categoría empresarial a la porción empresarial; y un que dirige el tráfico a la porción predeterminada de Internet.
Asegúrate de que esté configurado un perfil de trabajo en el dispositivo.
Acepta el uso de la segmentación de red a través del DPC
Para probar el comportamiento de segmentación de red 5G, haz lo siguiente:
- Verifica que se establezca una sesión de PDU con la porción empresarial (para por ejemplo, con una dirección IP específica) y que las apps del perfil de trabajo usan esa sesión de la PDU.
- Verifica que se establezca una sesión de PDU independiente con el servicio de Internet predeterminado y que las apps del perfil personal usen la sesión de la PDU.
Venta incremental de segmentación de 5G
La función de venta incremental de segmentación de 5G, disponible en Android 14-QPR1 permite que los operadores ofrezcan redes de alta calidad (latencia y ancho de banda) a sus usuarios a través de la segmentación de la red 5G.
La función de venta incremental de segmentación de 5G usa la respuesta TS.43 del operador de derechos de autor para impulsar el flujo de compra. Los operadores pueden usar la respuesta para especificar la URL para la vista web de la compra del operador, enviar datos adicionales al WebView e indica si la porción está aprovisionada y disponible en el de la red del operador.
Los operadores pueden personalizar el comportamiento de la función de venta incremental de segmentación de 5G con configuraciones de operadores, que controlan si las solicitudes de compra pueden cuándo se permite que las apps soliciten funciones premium y durante cuánto tiempo El framework de telefonía espera respuestas del usuario o de la red.
La función de venta incremental de segmentación de 5G proporciona una interfaz llamada
DataBoostWebServiceFlow
,
para permitir la comunicación entre Android y la WebView del operador.
En la Figura 2, se muestra el flujo de compra de venta incremental de segmentación de 5G:
Figura 2: Flujo de compra de venta incremental de segmentación de 5G.
Proceso de autorización de TS.43
Cuando un usuario solicita capacidades de red mejoradas, el servicio de framework solicita la configuración de derechos de servicio capacidad premium. Si la respuesta de TS.43 es válida, el framework de Telefonía usa los campos de la respuesta HTTP para impulsar la solicitud de compra.
Campos de compra de Slice
La configuración de derechos de TS.43 incluye la siguiente compra de porciones campos:
- Estado de autorización
Tecla:
EntitlementStatus
Tipo:
int
Valores admitidos:
0
(inhabilitado),1
(habilitado),2
(incompatible),3
(aprovisionamiento),4
(incluido)- Estado de aprovisionamiento
Tecla:
ProvStatus
Tipo:
int
Valores admitidos:
0
(no aprovisionado),1
(aprovisionado),2
(no disponible)3
(en curso)
El framework de Telefonía usa la combinación del estado de derechos y de aprovisionamiento para determinar el estado actual de compra de porciones. El resultado puede ser una de las siguientes opciones:
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
Si el estado del derecho es 1
(habilitado) y el de aprovisionamiento es 0
(no aprovisionado), el framework de Telefonía muestra una notificación de venta incremental a
que el usuario compre el estímulo a través de la WebView del operador. La siguiente tabla
describe el comportamiento del framework de Telefonía para distintas combinaciones de
el aprovisionamiento y el estado de los derechos.
Estado de aprovisionamiento | |||||
---|---|---|---|---|---|
No aprovisionado (0 ) |
Aprovisionados (1 ) |
No disponibles (2 ) |
En curso (3 ) |
||
Estado del derecho | Inhabilitadas (0 ) |
Error | Error | Error | Error |
Habilitadas (1 ) |
Mostrar WebView | Ya compré ese producto | Ya compré ese producto | En curso | |
Incompatible (2 ) |
Error | Error | Error | Error | |
Aprovisionamiento (3 ) |
Error del proveedor | Error del proveedor | En curso | En curso | |
Incluidos (4 ) |
Error del proveedor | Ya compré ese producto | Ya compré ese producto | Error del proveedor |
Campos de flujo de servicio
La respuesta TS.43 especifica la URL, los datos del usuario y el tipo de contenido que se personalizará
el comportamiento de WebView de compra del operador. Si el tipo de contenido no se especifica, el
La URL se carga como una solicitud GET. Si los datos del usuario existen, se agregan al
URL como parámetro de consulta (por ejemplo,
https://www.android.com?encodedValue=Base64EncodedUserData
); y si no
existen, la URL se usa tal cual está (por ejemplo, https://www.android.com
).
Si el tipo de contenido se especifica en formato JSON o XML, la URL se carga como un
POST y los datos del usuario (decodificados si están codificados en Base 64) se envían como
los datos para la solicitud POST.
- URL
Tecla:
ServiceFlow_URL
Tipo:
String
Ejemplo:
"https://www.android.com"
- Datos del usuario
Tecla:
ServiceFlow_UserData
Tipo:
String
Ejemplo:
"encodedValue=Base64EncodedUserData"
- Tipo de contenido
Tecla:
ServiceFlow_ContentsType
Tipo:
String
Valores admitidos:
0
(sin especificar),1
(JSON),2
(XML)
Configuraciones del proveedor
A continuación, se indican las configuraciones de los proveedores disponibles para personalizar la de la función de venta incremental de segmentación de 5G.
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY
Una lista de las funciones premium compatibles. Este es un array int de
TelephonyManager.PremiumCapability
Estas funciones premium comparten el mismo valor que la correspondienteNetworkCapabilities.NetCapability
clase. Si se solicita una función premium y no se incluye en este la solicitud de compra, la solicitud de compraCARRIER_DISABLED
resultado.En Android 14, solo
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
es compatible.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
La cantidad máxima diaria de veces que se muestra la notificación de venta incremental de compras del usuario. Si se alcanza el máximo diario, no se muestra la notificación de venta incremental. las solicitudes de compra (incluidas las solicitudes del servidor de derechos) la medianoche del día siguiente. Las solicitudes de compra realizadas después del máximo diario son a los que llegaste a fallar con
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
resultado.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT
La cantidad máxima mensual de veces que se muestra la notificación de venta incremental de compras para el usuario. Si se alcanza el máximo mensual, no se mostrará la notificación de venta incremental. y las solicitudes de compra (incluidas las solicitudes del servidor de derechos) hasta el primer día del mes siguiente. Las solicitudes de compra realizadas después del si se alcanza el máximo mensual falla con el
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
resultado.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
La URL de compra del operador de respaldo que se muestra al usuario cuando hace clic en el notificación de venta incremental. Si la URL de compra no se encuentra en la respuesta de TS.43 del servidor de derechos, se usa este valor en su lugar. Si ni la URL de la respuesta TS.43 o la configuración del operador sea válida, la solicitud de compra falla con el
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED
resultado.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL
Si se permite la compra de funciones premium cuando el dispositivo está conectados a Evolución a largo plazo (LTE). Si es
true
, las solicitudes de compra pueden en LTE y Nueva Radio (NR). Sifalse
, solo se pueden hacer solicitudes de compra en NR, y fallan las solicitudes de LTE con elPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
resultado.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
Es la cantidad de tiempo que se debe mostrar al usuario antes de mostrar la notificación de venta incremental de compras. se cancela automáticamente. Si se cancela la notificación, se generarán se regulan y fallan con el
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
resultado.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
La cantidad de tiempo que deben limitarse las solicitudes de compra posteriores una falla debido al tiempo de espera o a la cancelación del usuario. Si el usuario no hace clic la notificación de venta incremental de compras dentro del tiempo de espera especificado por
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
o si cancela o descarta la notificación, se inicia este temporizador de retirada. Mientras que este temporizador está activo, las solicitudes de compra fallan con elPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
resultado.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
La cantidad de tiempo que deben limitarse las solicitudes de compra posteriores una falla debido al operador o a la red. Si falla la verificación de derechos, la URL no está disponible o la URL de compra del operador indica un error, esta retirada se inicia el temporizador. Mientras este temporizador esté activo, las solicitudes de compra fallarán con el
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
resultado.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG
La cantidad de tiempo en la que la red debe establecer una configuración de segmentación por la función premium de compra. Durante este período, las compras posteriores se bloquean las solicitudes y devuelven el
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP
resultado. Si la red no establece una configuración de segmentación a tiempo, las apps para volver a comprar funciones premium. La telefonía no considera un la compra hasta que se envíe la configuración de segmentación correspondiente independientemente de si el usuario le pagó al operador o no.
Interfaz de JavaScript
Cuando el usuario hace clic en la notificación de mejora de la red, aparece un objeto WebView
con
se muestra al usuario la URL de compra del operador. Los operadores pueden usar las APIs
proporcionadas en la
DataBoostWebServiceFlow
Interfaz de JavaScript en el sitio web de compra para comunicarse con la porción.
app de compras.
El sitio web del operador puede obtener la función premium solicitada a través del método
getRequestedCapability()
Si la compra es exitosa, el sitio web del operador debe notificar a la parte
comprar la app a través de notifyPurchaseSuccessful()
o
notifyPurchaseSuccessful(duration)
donde duration
es un parámetro opcional
que indica la duración prevista de la porción.
Si la compra no se realiza correctamente, el sitio web del operador debe notificar la porción.
compra la app con el método notifyPurchaseFailed(code, reason)
, en el que code
es el código de falla que indica el motivo y reason
es el código
un motivo legible por el ser humano si se desconoce el código de falla.
Si no se llama a cualquiera de estos métodos de respuesta, no se realizará la compra se considera completada y se agota el tiempo de espera de la solicitud de compra.
Los siguientes son los códigos de falla válidos que puede devolver el sitio web del operador por un error en la compra:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
Cuando se completa la compra, el proveedor debe actualizar la
Reglas URSP
con la porción PRIORITIZE_LATENCY
al dispositivo del usuario.