Aktualizacje OTA dla firm

Androida Oprogramowanie aktualizowane w dokumencie Compatibility Definition Document (CDD) wymaga od urządzeń zaimplementowania SystemUpdatePolicy zajęcia. SystemUpdatePolicy zezwala właścicielowi urządzenia na korzystanie z aplikacji, jeśli kontrolować instalację aktualizacji systemu.

Powiadom właścicieli urządzenia

Klient bezprzewodowy musi powiadamiać aplikacje właściciela urządzenia o przychodzących aktualizacjach bezprzewodowych za pomocą interfejsu API systemu. Klient OTA musi też zawierają sygnaturę czasową, w której została rozpoczęta aktualizacja OTA, i dostępności informacji. Klienci OTA mogą wywoływać funkcję DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch), aby powiadamiać aplikacje właściciela urządzenia. Jeśli klient OTA nie wie, że dostępna jest aktualizacja to poprawka zabezpieczeń, klient OTA może użyć DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)

Jeśli aktualizacja nie jest obecnie dostępna, klient OTA zgłasza to do ustawiając argument updateReceivedTime na -1. Zalecamy wysyłanie powiadomień za każdym razem, gdy klient OTA sprawdza serwer OTA lub gdy OTA jest przesyłane do klienta. Możesz też wysyłać powiadomienia częściej.

Zasady aktualizacji systemu

Android 9 zwiększa możliwości kontrolowania aktualizacji przez właścicieli urządzeń, umożliwiając im opóźnianie aktualizacji OTA nawet o 90 dni. Koncentracja na urządzeniu specjalnym (wcześniej COSU) rozwiązań, dzięki tej funkcji właściciele mogą wstrzymać wersję systemu operacyjnego urządzenia w kluczowych okresach, np. podczas świąt.

Aby spełnić wymagania dotyczące ochrony danych klientów, klient OTA musi wdrożyć zasady dotyczące zachowań. Przedstawiciel urzędu certyfikacji może ustawiać następujące zasady, których respektowane przez podsystemy aktualizacji systemu urządzeń:

Właściciele urządzeń mogą też ustawić okresy blokady (w Androidzie 9 lub nowszym), które blokują wersję systemu operacyjnego w okresach krytycznych, takich jak święta czy inne okresy intensywnego użytkowania. System nie instaluje aktualizacji OTA w okresie blokady. Zalecamy użycie SystemUpdatePolicy.InstallationOption (zobacz poniżej), jednak klient OTA może też wywołać SystemUpdatePolicy.getFreezePeriods() aby sprawdzić, czy urządzenie jest w trybie blokady.

Wdrażanie opcji instalacji

Android 9 wprowadza interfejs @SystemApiSystemUpdatePolicy.InstallationOption, który jest przeznaczony dla klientów aktualizacji systemu. SystemUpdatePolicy.InstallationOption działa jako klasa opakowująca dla zasad i okresów zamrożenia. Opcja instalacji informuje, klienci, co mają zrobić z przychodzącymi aktualizacjami systemu i jak długo ta czynność jest ważna dla, z uwzględnieniem bieżących zasad aktualizacji systemu lub dowolnego zablokowania możliwy do ustawienia okres. Opcja instalacji może być jedną z tych opcji:

  • TYPE_INSTALL_AUTOMATIC – nowe aktualizacje systemu są instalowane natychmiast i bez udziału użytkownika, gdy tylko staną się dostępne. Urządzenie automatycznie się uruchomi.
  • TYPE_POSTPONE – nadchodzące aktualizacje systemu mogą być opóźniane maksymalnie o 30 dni. Użytkownicy nie mogą zainstalować aktualizacji ręcznie. Producenci urządzeń mogą blokować zabezpieczenia poprawek.
  • TYPE_PAUSE – aktualizacje systemu mogą być opóźniane na czas nieokreślony do odwołania. Użytkownicy nie mogą ręcznie instalować aktualizacji. TYPE_PAUSE opóźnia wszystkie aktualizacje, w tym łaty zabezpieczeń.

Klienty aktualizacji systemu mogą wysyłać zapytania SystemUpdatePolicy.InstallationOption korzysta z: SystemUpdatePolicy.getInstallationOptionAt(long when), gdzie when oznacza czas instalacji opcji instalacji dla zapytań w liczbie milisekund od początku epoki. Korzystanie z SystemUpdatePolicy.getInstallationOptionAt(long when) klienty aktualizacji systemu mogą działać zgodnie ze zwróconą opcją do momentu efektywne upływy czasu. Gdy zwrócona opcja wygaśnie, klient może wysłać kolejne zapytanie, używając nowej sygnatury czasowej, aby uzyskać najnowszą opcję.

Klient aktualizacji systemu musi nasłuchiwać DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED w przypadku zaktualizowania całej zasady.

Zweryfikuj zasadę TYPE_PAUSE

Możesz ręcznie sprawdzić, czy opcja TYPE_PAUSE działa w systemie OTA.

Zasada TYPE_PAUSE obowiązuje

Aby sprawdzić, czy zasada TYPE_PAUSE działa:

  1. Ustaw zasadę automatyczną i wskaż TYPE_PAUSE.
  2. Podczas wstrzymania zegara systemowego prześlij aktualizację OTA.
  3. Sprawdź, czy urządzenie nie przyjmuje aktualizacji OTA i czy użytkownik nie może ręcznie zainstalować aktualizacji.
  4. Jeśli urządzenie jest urządzeniem A/B, uruchom je ponownie i sprawdź, czy ponowne uruchomienie nie spowodowało automatycznej instalacji aktualizacji.

Zasada TYPE_PAUSE straciła ważność

Aby sprawdzić, czy zasady, które wygasły, działają:

  1. Ustaw automatyczną zasadę i określ TYPE_PAUSE.
  2. Gdy zegar systemowy jest w okresie wstrzymania, wypchnij aktualizację OTA.
  3. Poczekaj na zakończenie okresu zawieszenia.
  4. Sprawdź, czy urządzenie automatycznie uruchamia się ponownie i czy aktualizacja OTA jest wykonane po ponownym uruchomieniu.