Android 9 umożliwia operatorom udostępnianie użytkownikom w aplikacji Ustawienia szczegółowych informacji o planie, 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, operatorzy mogą dodać funkcje do swoich aplikacji na Androida za pomocą interfejsów API SubscriptionPlan
.
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 wbudowaną aplikację z uprawnieniami
MANAGE_SUBSCRIPTION_PLANS
.
Pierwsze 2 warunki umożliwiają użytkownikowi zainstalowanie aplikacji operatora bez konieczności jej wstępnej instalacji w obrazie systemu. 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 te 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 wdrażać za pomocą zadania JobScheduler
, które korzysta z setRequiresDeviceIdle()
i 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 użytkownicy mogli zobaczyć dokładne dane dotyczące wykorzystania danych, oraz aby udostępnić 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 tymczasowo wskazuje, że sieć jest „połączona”, 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ć, że połączenie komórkowe jest „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 weryfikacja
Aplikacja Ustawienia Androida wyświetla wszystkie szczegóły abonamentu na transmisję danych skonfigurowanych przez operatora, dzięki czemu użytkownicy widzą najdokładniejszy stan relacji z operatorem i oferują użytkownikom możliwość przejścia na wyższy abonament w aplikacji operatora. 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.