Implementación de los planes de datos

Android 9 permite que los operadores proporcionen directamente los detalles del plan a los usuarios en la app de Configuración para reducir la confusión y brindar asistencia. llamadas. En dispositivos con Android 4.0 y versiones posteriores, los usuarios pueden configurar los detalles del plan de datos específico del operador en la aplicación Configuración, por por ejemplo, configurar advertencias y límites para administrar el uso de datos.

Configuración por proveedor

Para configurar planes de datos, los operadores pueden agregar funcionalidad a sus Las apps para Android que usan APIs de SubscriptionPlan. Las APIs están diseñadas para admitir una amplia variedad de tipos de planes de datos, que incluyen planes recurrentes y no recurrentes, y planes que cambian con el tiempo.

Este es un ejemplo de cómo configurar un tipo común de plan de datos que se repita mensual:

SubscriptionManager sm =
    context.getSystemService(SubscriptionManager.class);
sm.setSubscriptionPlans(subId, Lists.newArrayList(
    SubscriptionPlan.Builder.createRecurringMonthly(
            ZonedDateTime.parse("2016-12-03T10:00:00Z"))
        .setTitle("G-Mobile")
        .setDataLimit(4_000_000_000L,
            SubscriptionPlan.LIMIT_BEHAVIOR_BILLED)
        .setDataUsage(200_493_293L, dataUsageTimestamp)
        .build()));

El dispositivo solo permite que una app configure planes de datos en una de las siguientes condiciones:

  • La tarjeta SIM ha definido explícitamente una aplicación que puede administrarla, como se define en SubscriptionManager.canManageSubscription()
  • La empresa de transportes impulsó KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING valor a través de CarrierConfigManager para indicar qué app puede administrar la de los planes de datos de tu proveedor.
  • El dispositivo tiene una aplicación integrada en la imagen del sistema que tiene la MANAGE_SUBSCRIPTION_PLANS.

Las primeras dos condiciones permiten que el usuario instale la app del operador sin requerir que esté preinstalada en la imagen del sistema en la fábrica. El SO exige (y el CDD exige) que todos los detalles del plan de datos configurado sean y solo están disponibles para las apps del operador le proporcionaron los detalles al SO.

Un diseño sugerido es que una app de operador use un servicio de mantenimiento inactivo para actualizar los detalles del plan de datos a diario, pero los operadores tienen la libertad de utilizar una amplia varios mecanismos, como la recepción de detalles del plan de datos a través de Mensajes SMS. Los servicios de mantenimiento inactivos se implementan mejor con un Trabajo JobScheduler que usa setRequiresDeviceIdle() y setRequiresCharging()

Uso por SO

El SO usa los detalles del plan de datos proporcionados por las APIs de SubscriptionPlan en el de la siguiente manera:

  • Los detalles del plan se muestran a través de la app de Configuración para mostrar datos precisos. uso a los usuarios y ofrecerles direccionar vínculos directos a la app del operador para buscar oportunidades de actualización/venta incremental.
  • La advertencia de uso de datos y los umbrales de notificación de límites se activan configurar según los detalles del plan; la advertencia se configura en el 90% de la límite.
  • Si el operador indica temporalmente que la red está “congestionado”, El SO retrasa las tareas de JobScheduler que pueden cambiarse en el tiempo, lo que reduce la carga en la red del operador.
  • Si el operador indica temporalmente que la red está “no medido”, el SO puede informar que la conexión móvil es "de uso no medido" hasta que la empresa de transporte borra la anulación o hasta que se alcance el valor del tiempo de espera (si se proporciona).
  • Al comparar el uso de datos actual del usuario con el límite de datos general, el El SO estima el uso normal de datos que hace el usuario al final del ciclo de facturación. y asigna de forma conservadora el 10% de cualquier excedente de datos para mejorar , por ejemplo, permitiendo que las apps usen datos de varias rutas.

Personalización y validación

La app de Configuración de Android muestra todos los detalles del plan de datos configurado por el proveedor. asegurarse de que los usuarios vean el estado más preciso de su relación con la empresa de transporte y ofrecerles a los usuarios una ruta en la app del operador para que actualicen su plan. Dispositivo los fabricantes que eligen personalizar la app de Configuración, para continuar en la que se deben mostrar estos detalles.

Las APIs de SubscriptionManager que se describen en esta página se prueban android.telephony.cts.SubscriptionManagerTest, que garantiza que el plan de datos detalles pueden ser configurados por las apps del operador y que los cambios se propaguen en el SO.