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średnictwemCarrierConfigManager
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.