Urządzenia z Androidem bez salda danych umożliwiają przepływ danych operatorów sieci telekomunikacyjnych i operatorów telekomunikacyjnych, aby wdrożyć protokoły ograniczania ryzyka. Android zastosował ogólne rozwiązanie, które pozwala operatorom i operatorom telekomunikacyjnym wskazać, kiedy urządzenie wyczerpanie się środków.
Platforma Androida udostępnia domyślną aplikację operatora z domyślnym działaniem ograniczania ruchu na podstawie sygnału wykrywania portalu przechwytującego. Zapewnia też operatorów sieci komórkowych i OEM, możliwość dostosowania zachowania przy niskich kosztach dzięki dużej elastyczności.
Przykłady i źródło
Lokalizacja domyślnej aplikacji operatora: platform/frameworks/base/packages/CarrierDefaultApp/.
Implementacja
Domyślna aplikacja operatora jest skonfigurowana tak, by zapewnić większą wygodę użytkownikom nieskonfigurowanych operatorów. Operatorzy mogą używać tego domyślnego działania. Mogą też zastąpić domyślne działanie, dodając mapowania sygnałów do działania do w pliku XML konfiguracji operatora. Dziecko może zdecydować, że nie będzie korzystać z aplikacji domyślnej, korzysta z uprawnień UICC w osobnej aplikacji operatora.
Wprowadzenie do wdrożenia
Signals
Platforma Androida obsługuje konfigurowanie działań pod kątem poniższych parametrów sygnały:
TelephonyIntents.ACTION_CARRIER_SIGNAL_REDIRECTED
TelephonyIntents.ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED
Te sygnały znajdują się w:
frameworks/base/telephony/java/com/android/internal/telephony/TelephonyIntents.java
Obsługiwane działania
Domyślna aplikacja operatora definiuje zestaw obsługiwanych działań, które można zmapować
obsługiwane sygnały. Definicję tych wartości znajdziesz w CarrierActionUtils.java
:
public static final int CARRIER_ACTION_ENABLE_METERED_APNS = 0; public static final int CARRIER_ACTION_DISABLE_METERED_APNS = 1; public static final int CARRIER_ACTION_DISABLE_RADIO = 2; public static final int CARRIER_ACTION_ENABLE_RADIO = 3; public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION = 4; public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5; public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS = 6;
Uwaga: jeśli operator wdraża własną, samodzielną aplikację: mogą implementować obsługę sygnałów innych niż wymienione w tym artykule . Mogą też definiować i konfigurować własne działania.
Domyślne mapowania sygnałów i działań
Skonfiguruj działania domyślne w ten sposób:
- Zdefiniuj klucz obsługiwanych sygnałów.
Domyślne mapowania sygnałów na działania są zdefiniowane w sekcji
CarrierConfigManager.java
. Każdy z obsługiwanych sygnałów ma swój klucz:public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array"; public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY = "carrier_default_actions_on_dcfailure_string_array";
- Powiązywanie działań domyślnych z kluczami sygnałów.
Domyślne identyfikatory działań są powiązane z kluczami sygnału:
sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY, new String[]{ "1, 4" //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION // 4: CARRIER_ACTION_DISABLE_METERED_APNS });
Platforma telekomunikacyjna przypisuje te działania do odpowiednich sygnałów.
Zastąp działania domyślne
Działania niestandardowe możesz zdefiniować w przypadku obsługiwanych sygnałów w pliku XML konfiguracji operatora
przez powiązanie identyfikatorów działań z kluczami sygnałów (zdefiniowanymi w
CarrierConfigManager.java
). Na przykład to mapowanie
wyłącza punkty APN z pomiarem użycia danych i wyświetla powiadomienie z portalu przy przekierowaniu:
<string-array name="carrier_default_actions_on_redirection_string_array" num="2"> <item value="1" /> <item value="4" /> </string-array>
Platforma telekomunikacyjna wczytuje te konfiguracje i zastępuje ustawienia domyślne .
Weryfikacja
Nie ma testów CTS, CTS Verifier ani GTS dotyczących tej funkcji.
Aby sprawdzić działanie tej funkcji, skorzystaj z tych testów ręcznej weryfikacji:
- Weryfikowanie powiadomienia o braku równowagi urządzenia telekomunikacyjnego.
- Sprawdź ograniczanie przekierowywania ruchu przy braku salda i w sieci Wi-Fi wyłączone.
- Sprawdź, czy ruch sieciowy jest wyłączony i pojawia się interfejs powiadomień, gdy jest poza domem stanu równowagi.
- Sprawdzaj połączenia głosowe/funkcję VoLTE przy braku salda.
- Sprawdź, czy rozmowy wideo są zablokowane poza saldem.
- Gdy Wi-Fi jest włączone, użytkownik może kontynuować przeglądanie internetu i przeglądać internet ruch sieciowy nie włącza ruchu sieciowego, gdy jest poza saldem stanu.
- Sprawdzaj funkcje Wi-Fi, WFC i Bluetooth przy braku równowagi stanu.
- Wyłącz Wi-Fi. Sprawdź interfejs powiadomień o braku równowagi i interfejs ruch związany z przeglądaniem nie jest przekierowywany do witryny rejestracji telekomunikacyjnej. Zweryfikuj kliknięcie linku w interfejsie powiadomień powoduje przejście przeglądarki do centrum telekomunikacyjnego rejestracji w witrynie.
- Sprawdź, czy przełączenie trybu samolotowego nie resetuje ograniczania ruchu. stanu.
- Sprawdź, czy wymiana karty SIM spowoduje zresetowanie ruchu sieciowego stanu.
- Sprawdź, czy ponowne włożenie karty SIM poza saldem ponownie uruchamia przekierowanie ruchu i ponownie uzyskuje ograniczenie ruchu w sieci.
- Sprawdź, czy zrestartowanie telefonu powoduje ponowne uruchomienie przekierowania i powrót ograniczania ruchu i interfejsu powiadomień.
- Kliknij „captiveportal”. powiadomienia. Weryfikowanie sieci z ograniczeniami nawiązane jest połączenie, które umożliwia użytkownikowi dodawanie punktów.
- Sprawdzanie, czy ponowne naładowanie lub reaktywacja salda karty SIM powoduje sieć komórkową ruch do odzyskania konta oraz link Telco i brak powiadomienia o saldzie w domu.
- Test poprawności po przywróceniu usługi danych.
Domyślna aplikacja zawiera kilka przykładów testów jednostkowych i skrypt do ich uruchomienia.
(patrz tests/runtest.sh
). Gdy wdrożysz wersję dostosowaną do własnych potrzeb lub
należy uwzględnić te dostosowania w specjalnych testach jednostkowych.