Wdrożenie planów danych

Android 9 umożliwia operatorom udostępnianie użytkownikom szczegółowych informacji o planach bezpośrednio w aplikacji Ustawienia, aby ograniczyć ich dezorientację i ułatwić obsługę połączeń. Na urządzeniach z Androidem 4.0 lub nowszym użytkownicy mogą ręcznie konfigurować szczegóły planu danych w aplikacji Ustawienia, na przykład ustawiać ostrzeżenia i limity, aby zarządzać użyciem danych.

Konfiguracja według operatora

Aby skonfigurować abonamenty danych, operatorzy mogą dodać funkcje do istniejących aplikacji na Androida za pomocą interfejsów SubscriptionPlan API. Interfejsy API zostały zaprojektowane tak, aby obsługiwać wiele typów planów danych, w tym plany okresowe i nieokresowe oraz plany, które zmieniają się z czasem.

Oto przykład konfiguracji popularnego typu abonamentu danych, który jest odnawiany 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()));

Aplikacja może skonfigurować plany danych tylko wtedy, gdy spełniony jest jeden z tych warunków:

  • Karta SIM ma wyraźnie zdefiniowaną aplikację, która może nią zarządzać zgodnie z SubscriptionManager.canManageSubscription().
  • Operator przesłał wartość KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING za pomocą CarrierConfigManager, aby wskazać, która aplikacja może zarządzać pakietami danych operatora.
  • Urządzenie ma aplikację wbudowaną w obraz systemu, która ma uprawnienie MANAGE_SUBSCRIPTION_PLANS.

Pierwsze 2 warunki umożliwiają użytkownikowi zainstalowanie aplikacji operatora bez konieczności jej wstępnej instalacji w ramach obrazu systemu w fabryce. System operacyjny wymusza (a zasady CDD wymagają), aby wszystkie skonfigurowane szczegóły planu danych były chronione i udostępniane tylko aplikacji operatora, która pierwotnie przekazała szczegóły systemowi operacyjnemu.

Jednym z zalecanych rozwiązań jest korzystanie przez aplikację operatora z usługi konserwacji w stanie bezczynności w celu codziennego aktualizowania szczegółów planu danych. Operatorzy mogą jednak korzystać z wielu różnych mechanizmów, takich jak otrzymywanie szczegółów planu danych za pomocą wewnętrznych wiadomości SMS. Usługi konserwacji w trybie bezczynności najlepiej implementować za pomocą zadania JobScheduler, które korzysta z elementów setRequiresDeviceIdle()setRequiresCharging().

Wykorzystanie według systemu operacyjnego

System operacyjny używa szczegółów planu danych udostępnionych przez interfejsy SubscriptionPlan API w następujący sposób:

  • Szczegóły planu są wyświetlane w aplikacji Ustawienia, aby wyświetlać użytkownikom dokładne dane dotyczące wykorzystania danych i zapewnić bezpośrednie precyzyjne linki do aplikacji operatora, które umożliwiają ulepszenie lub rozszerzenie abonamentu.
  • Ostrzeżenia o użyciu danych i progi ostrzeżeń o limitach są automatycznie konfigurowane na podstawie szczegółów abonamentu. Ostrzeżenie jest ustawiane na 90% limitu.
  • Jeśli operator wskaże, że sieć jest tymczasowo „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 „nielimitowana”, system operacyjny może zgłosić połączenie komórkowe jako „nielimitowane”, dopóki operator nie usunie zastąpienia lub nie osiągnie się wartości limitu czasu (jeśli została podana).
  • Porównując bieżące użycie danych przez użytkownika z ogólnym limitem danych, system operacyjny szacuje normalne użycie danych przez użytkownika na koniec cyklu rozliczeniowego i ostrożnie przydziela 10% nadwyżki danych na potrzeby poprawy wrażeń użytkownika, na przykład przez umożliwienie aplikacjom korzystania z danych wielościeżkowych.

Dostosowywanie i weryfikowanie

Aplikacja Ustawienia w Androidzie wyświetla wszystkie szczegóły planu danych skonfigurowanego przez operatora. Dzięki temu użytkownicy widzą najbardziej dokładny stan relacji z operatorem i mają możliwość przejścia do aplikacji operatora, aby uaktualnić plan. Producenci urządzeń, którzy zdecydują się na dostosowanie aplikacji Ustawienia, powinni nadal wyświetlać te informacje.

Interfejsy API SubscriptionManager opisane na tej stronie są testowane przez android.telephony.cts.SubscriptionManagerTest, co zapewnia możliwość konfigurowania szczegółów planu danych przez aplikacje operatora i przekazywania zmian w systemie operacyjnym.