Wdrażanie planów danych

Android 9 umożliwia operatorom bezpośrednie udostępnianie użytkownikom wiarygodnych szczegółów planu w aplikacji Ustawienia, aby ograniczyć zamieszanie użytkowników i ograniczyć liczbę połączeń telefonicznych. Na urządzeniach z systemem Android 4.0 lub nowszym użytkownicy mogą ręcznie skonfigurować szczegóły planu transmisji danych specyficznego dla operatora w aplikacji Ustawienia, na przykład ustawiając ostrzeżenia i limity w celu zarządzania wykorzystaniem danych.

Konfiguracja przez operatora

Aby skonfigurować plany transmisji danych, przewoźnicy mogą dodawać funkcje do swoich istniejących aplikacji na Androida, korzystając z interfejsów API SubscriptionPlan . Interfejsy API zaprojektowano tak, aby obsługiwały szeroką gamę typów planów transmisji danych, w tym zarówno plany cykliczne, jak i jednorazowe, a także plany zmieniające się w czasie.

Oto przykład konfiguracji typowego planu transmisji danych, który powtarza się co miesiąc:

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()));

Urządzenie pozwala aplikacji konfigurować plany transmisji danych tylko pod jednym z następujących warunków:

  • Karta SIM ma jawnie zdefiniowaną aplikację, która może nią zarządzać, zgodnie z definicją SubscriptionManager.canManageSubscription() .
  • Operator przekazał wartość KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING za pośrednictwem CarrierConfigManager aby wskazać, która aplikacja może zarządzać planami transmisji danych operatora.
  • Urządzenie ma wbudowaną w obraz systemu aplikację, która ma uprawnienia MANAGE_SUBSCRIPTION_PLANS .

Pierwsze dwa warunki umożliwiają instalację aplikacji operatora przez użytkownika, bez konieczności jej wstępnej instalacji w obrazie systemu w fabryce. System operacyjny wymusza (i wymaga tego CDD), aby wszystkie skonfigurowane szczegóły planu transmisji danych były chronione i udostępniane wyłącznie aplikacji operatora, która pierwotnie dostarczyła te szczegóły systemowi operacyjnemu.

Jednym z sugerowanych projektów jest to, że aplikacja operatora korzysta z bezczynnej usługi konserwacji w celu codziennej aktualizacji szczegółów planu transmisji danych, ale przewoźnicy mogą swobodnie korzystać z szerokiej gamy mechanizmów, takich jak otrzymywanie szczegółów planu transmisji danych za pośrednictwem wewnętrznych wiadomości SMS operatora. Usługi konserwacji bezczynności najlepiej wdrożyć za pomocą zadania JobScheduler , które używa setRequiresDeviceIdle() i setRequiresCharging() .

Użycie przez system operacyjny

System operacyjny korzysta ze szczegółów planu transmisji danych dostarczonych przez interfejsy API SubscriptionPlan w następujący sposób:

  • Szczegóły planu są wyświetlane w aplikacji Ustawienia, aby wyświetlać użytkownikom dokładne wykorzystanie danych i zapewniać bezpośrednie, szczegółowe linki do aplikacji operatora w celu umożliwienia aktualizacji/sprzedaży dodatkowej.
  • Progi ostrzeżeń o wykorzystaniu danych i powiadomień o limitach są konfigurowane automatycznie na podstawie szczegółów planu; ostrzeżenie jest ustawione na 90% limitu.
  • Jeśli operator tymczasowo wskaże, że sieć jest „przeciążona” , system operacyjny opóźnia zadania JobScheduler, które można przesunąć w czasie, zmniejszając obciążenie sieci operatora.
  • Jeśli operator tymczasowo wskaże, że sieć jest „niezmierzona” , system operacyjny może zgłosić połączenie komórkowe jako „niezmierzone”, dopóki operator nie usunie zastąpienia lub dopóki nie zostanie osiągnięty limit czasu (jeśli został podany).
  • Porównując bieżące wykorzystanie danych przez użytkownika z ogólnym limitem danych, system operacyjny szacuje normalne wykorzystanie danych przez użytkownika na koniec cyklu rozliczeniowego i ostrożnie przydziela 10% wszelkich nadwyżek danych w celu poprawy komfortu użytkownika, na przykład umożliwiając aplikacjom korzystanie dane wielościeżkowe.

Dostosowanie i weryfikacja

Aplikacja Ustawienia systemu Android wyświetla wszystkie szczegóły planu transmisji danych skonfigurowanego przez operatora, zapewniając użytkownikom najdokładniejszy status relacji z operatorem i oferując użytkownikom ścieżkę do aplikacji operatora w celu uaktualnienia planu. Producentom urządzeń decydującym się na dostosowanie aplikacji Ustawienia zaleca się dalsze ujawnianie tych szczegółów.

Opisane powyżej interfejsy API SubscriptionManager są testowane przez android.telephony.cts.SubscriptionManagerTest , który gwarantuje, że szczegóły planu transmisji danych mogą być konfigurowane przez aplikacje operatora i że zmiany są propagowane w systemie operacyjnym.