Ujednolicone ustawienia aktualizacji (UUC) zapewniają administratorom IT jeden, spójny sposób kontrolowania, kiedy aktualizacje oprogramowania są pobierane i stosowane na urządzeniach z Androidem należących do firmy, dzięki czemu aktualizacje nie zakłócają operacji biznesowych.
Za pomocą jednej zasady UUC możesz kontrolować aktualizacje tych komponentów oprogramowania:
- Aktualizacje systemu operacyjnego wydawane przez producenta urządzenia (OEM), w tym główne aktualizacje systemu operacyjnego oraz mniejsze aktualizacje systemu operacyjnego i zabezpieczeń.
- Aktualizacje systemowe Google Play (Mainline).
- Usługi systemowe Google, takie jak Usługi Google Play i Android System WebView, jako grupa lub pojedyncza aplikacja.
Reguły UUC definiuje się w polu unifiedUpdatePolicy zasobu Policy. Aplikacja Android Device Policy (ADP) to centralny punkt decyzyjny na urządzeniu w przypadku UUC.
Wymagania wstępne
Zanim skonfigurujesz UUC, sprawdź, czy spełniasz te wymagania:
- Twoje rozwiązanie EMM może tworzyć i aktualizować zasady dla przedsiębiorstwa.
- Urządzenia należą do firmy i są skonfigurowane jako w pełni zarządzane lub z profilem służbowym na urządzeniu należącym do firmy. UUC nie jest obsługiwane na urządzeniach należących do użytkowników.
- Urządzenia spełniają wymagania dotyczące minimalnej obsługiwanej wersji Androida dla każdego celu aktualizacji, który chcesz kontrolować, jak pokazano w tej tabeli:
| Aktualizowanie celu | W pełni zarządzane (właściciel urządzenia) | Profil służbowy na urządzeniach należących do firmy (COPE) |
|---|---|---|
Usługi systemowe Google Play (GOOGLE_SYSTEM_SERVICES, SINGLE_APP) |
Android 13 (poziom 33 interfejsu API) lub nowszy | Android 15 (poziom 35 interfejsu API) lub nowszy |
Aktualizacje systemowe Google Play / Mainline (GOOGLE_PLAY_SYSTEM_UPDATE) |
Android 13 (poziom 33 interfejsu API) lub nowszy | Android 15 (poziom 35 interfejsu API) lub nowszy |
Aktualizacje systemu operacyjnego – producenci OEM korzystający z agenta Google OTA, np. Google Pixel (OS_UPDATE_WITH_API_LEVEL_CHANGE, OS_UPDATE_WITHOUT_API_LEVEL_CHANGE) |
Android 13 (poziom 33 interfejsu API) lub nowszy | Android 15 (poziom 35 interfejsu API) lub nowszy |
Aktualizacje systemu operacyjnego – inni producenci OEM (OS_UPDATE_WITH_API_LEVEL_CHANGE, OS_UPDATE_WITHOUT_API_LEVEL_CHANGE) |
Android 17 (poziom interfejsu API 37) i nowszy | Android 17 (poziom interfejsu API 37) i nowszy |
Uwagi i ograniczenia
Zanim zaplanujesz integrację z UUC, zapoznaj się z tymi uwagami i ograniczeniami:
- Kreator konfiguracji początkowej: zasady UUC nie są wymuszane, gdy urządzenie jest w kreatorze konfiguracji początkowej. Podczas konfigurowania urządzenia mogą wystąpić krytyczne aktualizacje z Google Play lub agenta OTA OEM.
- Wczesne aktualizacje po konfiguracji: zasady UUC mogą nie mieć zastosowania do automatycznych aktualizacji, które rozpoczynają się natychmiast po skonfigurowaniu urządzenia, takich jak wczesne aktualizacje Usług Google Play, zanim zasady dotrą do ADP.
- Dołączone moduły OTA: aktualizacje OTA od producenta OEM mogą zawierać zaktualizowane wersje modułów Mainline i usług systemowych Google. Zainstalowanie aktualizacji OTA od producenta OEM powoduje automatyczną aktualizację tych komponentów.
- Aktualizacje systemowe Google Play (Mainline): UUC kontroluje aktualizację Mainline jako pojedynczą jednostkę, więc poszczególne pakiety Mainline nie mogą być kontrolowane niezależnie. UUC zarządza tylko rozpoczęciem fazy pobierania: po rozpoczęciu pobierania Mainline nie można go zatrzymać. Jeśli reguła
BLOCKzostanie zastosowana po rozpoczęciu pobierania, aktualizacja zostanie ukończona po ponownym uruchomieniu urządzenia. - Ręczne aktualizacje w okresach blokady: w przypadku aktualizacji systemowych Google Play (Mainline) i usług systemowych Google reguła
BLOCKzapobiega tylko automatycznym aktualizacjom. Użytkownicy mogą nadal ręcznie aktualizować te komponenty, nawet gdy regułaBLOCKjest aktywna. Ten problem postaramy się rozwiązać w jednej z kolejnych wersji. - Aplikacje wyłączone: UUC nie zarządza aktualizacjami aplikacji Sklep Google Play ani aplikacji ADP.
Omówienie zasad dotyczących treści przesyłanych przez użytkowników
UnifiedUpdatePolicy składa się z listy uporządkowanej obiektów Rule. Każda reguła określa:
- identyfikator (
id) zdefiniowany przez rozwiązanie EMM, - co najmniej 1 cel aktualizacji oprogramowania,
- opcjonalne etapy oceny.
- co najmniej 1 opcjonalny predykat zawierający warunki oparte na czasie.
- wynik, który określa, jak jest obsługiwana aktualizacja.
Ocena reguły
Podczas oceny oczekującej aktualizacji ADP bierze pod uwagę wszystkie reguły, które mają zastosowanie do celu i etapu tej aktualizacji, w kolejności, w jakiej pojawiają się w rules. ADP wybiera pierwszą regułę, której predykat ma wartość true, i stosuje jej wynik, podobnie jak w przypadku instrukcji if-else. Jeśli żaden warunek reguły nie ma wartości true, klient aktualizacji odpowiedzialny za komponent zarządza aktualizacją w normalny sposób.
Identyfikatory reguł
Każda reguła wymaga id o długości do 64 znaków, który jest definiowany przez rozwiązanie EMM. Pole id nie może być puste i musi być unikalne wśród reguł zasady.
Aktualizowanie celów
Każda reguła musi określać niepustą listę targets bez duplikatów.
Określenie wielu celów w jednej regule jest równoważne zdefiniowaniu wielu reguł po kolei, z których każda ma jeden cel, w tej samej kolejności.
W tabeli poniżej znajdziesz obsługiwane wartości targetType:
Wartość targetType |
Opis |
|---|---|
OS_UPDATE_WITH_API_LEVEL_CHANGE |
Aktualizacja systemu operacyjnego wydana przez producenta OEM, która zmienia poziom interfejsu API Androida na urządzeniu (główna aktualizacja systemu operacyjnego). |
OS_UPDATE_WITHOUT_API_LEVEL_CHANGE |
Aktualizacja systemu operacyjnego wydana przez producenta OEM, która nie zmienia poziomu interfejsu API Androida na urządzeniu (niewielkie aktualizacje systemu operacyjnego i aktualizacje zabezpieczeń). |
GOOGLE_PLAY_SYSTEM_UPDATE |
Aktualizacje systemowe Google Play (Mainline). Kontroluje aktualizację Mainline jako pojedynczą encję. |
GOOGLE_SYSTEM_SERVICES |
Usługi systemowe Google aktualizowane z Google Play, takie jak Usługi Google Play i Android System WebView. |
SINGLE_APP |
Nazwa pakietu usługi w Google Play, która należy do GOOGLE_SYSTEM_SERVICES, np. com.google.android.webview. Wymaga ustawienia singleApp za pomocą packageName aplikacji. |
Etapy oceny
W przypadku celów OS_UPDATE_WITH_API_LEVEL_CHANGE i OS_UPDATE_WITHOUT_API_LEVEL_CHANGE możesz opcjonalnie określić stages, w którym reguła jest oceniana:
STAGE_DOWNLOAD: reguła jest sprawdzana przed pobraniem aktualizacji.STAGE_APPLY: reguła jest oceniana przed podjęciem działania, które stosuje aktualizację, np. przed uruchomieniem automatycznego ponownego uruchomienia.
Jeśli pole stages jest puste, reguła jest oceniana na wszystkich etapach.
Uwaga: w przypadku celów GOOGLE_SYSTEM_SERVICES, SINGLE_APP i GOOGLE_PLAY_SYSTEM_UPDATE etapy są ignorowane.
Predykaty
predicate określa warunki czasowe, w których reguła jest zgodna – na przykład dni tygodnia, okno pory dnia (z dokładnością do godziny), zakres dat kalendarzowych w lokalnej strefie czasowej urządzenia lub czas, przez jaki aktualizacja jest dostępna dla urządzenia (w wielokrotnościach 24 godzin).
Wszystkie warunki ustawione w ramach jednego predykatu są łączone za pomocą operatora logicznego AND.
Pusty lub pominięty predykat zawsze zwraca wartość true. Pełną listę pól predykatów i ich ograniczeń znajdziesz w dokumentacji referencyjnej Predicate.
Rezultaty
outcome określa, jak ADP instruuje agenta aktualizacji, aby postępował, gdy predykat reguły ma wartość true. W tabeli poniżej znajdziesz obsługiwane wartości outcomeType:
Wartość outcomeType |
Opis |
|---|---|
BLOCK |
Uniemożliwia pobranie lub zastosowanie aktualizacji. W przypadku aktualizacji dostarczanych przez Google Play (GOOGLE_SYSTEM_SERVICES, SINGLE_APP, GOOGLE_PLAY_SYSTEM_UPDATE) zasada BLOCK wpływa tylko na aktualizacje automatyczne i nie uniemożliwia użytkownikowi ręcznego aktualizowania. W przypadku aktualizacji systemu operacyjnego OEM BLOCK uniemożliwia zarówno aktualizacje ręczne, jak i automatyczne. |
USER_PROMPT |
Nie wykonuje działania aktualizacji bez zgody użytkownika i prosi go o jej wyrażenie. |
FORCE |
Natychmiast rozpoczyna działanie na ocenianym etapie, np. pobieranie aktualizacji lub ponowne uruchamianie urządzenia w celu jej zastosowania. |
Maksymalne limity odroczenia
UUC umożliwia odroczenie aktualizacji z wynikiem BLOCK lub USER_PROMPT do maksymalnego okresu odroczenia dla każdego celu aktualizacji. Gdy aktualizacja jest dostępna dłużej niż wynosi maksymalny okres odroczenia, wynik BLOCK lub USER_PROMPT jest zastępowany wartością domyślną, a klient aktualizacji zarządza aktualizacją w normalny sposób.
W tabeli poniżej znajdziesz maksymalne limity odroczenia według celu i trybu zarządzania:
| Grupa docelowa | Aktualizowanie celu | Urządzenie w pełni zarządzane | Profil służbowy na urządzeniu należącym do firmy |
|---|---|---|---|
| Aktualizacje bez zmian poziomu interfejsu API | usługi systemowe Google (np. WebView); | 5 dni | 5 dni |
| Aktualizacje bez zmian poziomu interfejsu API | Aktualizacje systemowe Google Play (Mainline) i aktualizacje systemu OTA OEM bez zmiany poziomu interfejsu API (w tym comiesięczne poprawki krytyczne) | 25 dni | 25 dni |
| Aktualizacje ze zmianami poziomu interfejsu API | Aktualizacje systemu OTA OEM ze zmianą poziomu interfejsu API | 180 dni | 90 dni |
Pierwszeństwo zasad systemUpdate
Zanim dodasz unifiedUpdatePolicy do istniejącej zasady, sprawdź ustawienia systemUpdate i odtwórz potrzebne zachowanie za pomocą reguł UUC. Jeśli na przykład chcesz, aby aktualizacje systemu operacyjnego nie były instalowane w godzinach otwarcia, użyj reguły BLOCK, takiej jak w sekcji Blokowanie głównych aktualizacji systemu operacyjnego w godzinach otwarcia.
To zachowanie pierwszeństwa różni się od niestandardowych kontrolerów DPC, które korzystają z pakietu SDK AMAPI, gdzie w przypadku aktualizacji OTA OEM SystemUpdatePolicy AOSP ma pierwszeństwo przed UUC.
Szczegółowe informacje znajdziesz w artykule Priorytet zasad SystemUpdatePolicy w AOSP.
Konfigurowanie zasad UUC
Możesz ustawić, pobrać i wyczyścić pole unifiedUpdatePolicy w zasobie zasad oraz sprawdzić zgodność urządzeń, które korzystają z tych zasad.
Konfigurowanie zasad UUC
Aby skonfigurować UUC, dodaj do zasady obiekt unifiedUpdatePolicy. Aby zastosować zasadę UUC bez zmiany innych ustawień istniejącej zasady, wywołaj enterprises.policies.patch z updateMask=unifiedUpdatePolicy:
PATCH https://androidmanagement.googleapis.com/v1/enterprises/{enterpriseId}/policies/{policyId}?updateMask=unifiedUpdatePolicy
{
"unifiedUpdatePolicy": {
"rules": [
{
"id": "Block Policy",
"targets": [
{
"targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE"
}
],
"predicate": {
"daysOfWeek": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"timeOfDayLowerBound": { "hours": 9 },
"timeOfDayUpperBound": { "hours": 17 }
},
"outcome": {
"outcomeType": "BLOCK"
}
}
]
}
}
Zaktualizowane zasady zostaną zastosowane na wszystkich urządzeniach, które ich używają. ADP ocenia reguły na każdym urządzeniu, gdy dostępna jest aktualizacja kontrolowanego komponentu.
Pobieranie zasad UUC
Aby odczytać skonfigurowane reguły UUC, wywołaj enterprises.policies.get i sprawdź pole unifiedUpdatePolicy zwróconej zasady:
GET https://androidmanagement.googleapis.com/v1/enterprises/{enterpriseId}/policies/{policyId}
Czyszczenie zasady UUC
Aby usunąć z zasady wszystkie reguły UUC, wywołaj enterprises.policies.patch z updateMask=unifiedUpdatePolicy i treścią żądania, która nie zawiera unifiedUpdatePolicy:
PATCH https://androidmanagement.googleapis.com/v1/enterprises/{enterpriseId}/policies/{policyId}?updateMask=unifiedUpdatePolicy
{}
Przykłady konfiguracji zasad
Poniższe przykłady pokazują obiekt unifiedUpdatePolicy w typowych scenariuszach. Zastosuj je za pomocą enterprises.policies.patch zgodnie z opisem w artykule Ustawianie zasad UUC. Te same scenariusze są dostępne jako kod Kotlin i Java w artykule Konfigurowanie ujednoliconych ustawień aktualizacji za pomocą pakietu AMAPI SDK.
Blokowanie głównych aktualizacji systemu operacyjnego w godzinach pracy
Ta reguła blokuje główne aktualizacje systemu operacyjnego (OS_UPDATE_WITH_API_LEVEL_CHANGE) od poniedziałku do piątku w godzinach 9:00–17:00:
{
"unifiedUpdatePolicy": {
"rules": [
{
"id": "Block Policy",
"targets": [
{
"targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE"
}
],
"predicate": {
"daysOfWeek": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"timeOfDayLowerBound": { "hours": 9 },
"timeOfDayUpperBound": { "hours": 17 }
},
"outcome": {
"outcomeType": "BLOCK"
}
}
]
}
}
Wymuszaj aktualizacje systemu operacyjnego według wieku aktualizacji
Ta reguła wymusza instalowanie głównych aktualizacji systemu operacyjnego, które są dostępne na urządzeniu od maksymalnie 7 dni (604800s):
{
"unifiedUpdatePolicy": {
"rules": [
{
"id": "Force Policy",
"targets": [
{
"targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE"
}
],
"predicate": {
"updateAgeUpperBound": "604800s"
},
"outcome": {
"outcomeType": "FORCE"
}
}
]
}
}
Blokowanie aktualizacji pojedynczej aplikacji usług systemowych Google
Aby kontrolować konkretną aplikację, która jest częścią usług systemowych Google, np. Android System WebView (com.google.android.webview), ustaw targetType na SINGLE_APP i podaj packageName aplikacji w singleApp. Ta reguła blokuje aktualizacje WebView od poniedziałku do piątku w godzinach 9:00–17:00:
{
"unifiedUpdatePolicy": {
"rules": [
{
"id": "Block Webview Policy",
"targets": [
{
"targetType": "SINGLE_APP",
"singleApp": {
"packageName": "com.google.android.webview"
}
}
],
"predicate": {
"daysOfWeek": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"timeOfDayLowerBound": { "hours": 9 },
"timeOfDayUpperBound": { "hours": 17 }
},
"outcome": {
"outcomeType": "BLOCK"
}
}
]
}
}
Łączenie wielu reguł we wszystkich celach aktualizacji
Reguły są oceniane w kolejności, więc możesz połączyć kilka reguł, aby blokować aktualizacje w określonych oknach i wymuszać aktualizacje poza tymi oknami.
W przykładzie poniżej zastosowano 2 reguły sekwencyjne do 4 kategorii docelowych (OS_UPDATE_WITH_API_LEVEL_CHANGE, OS_UPDATE_WITHOUT_API_LEVEL_CHANGE, GOOGLE_SYSTEM_SERVICES i GOOGLE_PLAY_SYSTEM_UPDATE):
- Blokuj wszystkie aktualizacje w godzinach pracy (od poniedziałku do piątku w godzinach 9:00–17:00).
- Poza godzinami pracy wymuszaj aktualizacje, które są dostępne od maksymalnie 7 dni.
{
"unifiedUpdatePolicy": {
"rules": [
{
"id": "Block Policy - rule1",
"targets": [
{ "targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE" },
{ "targetType": "OS_UPDATE_WITHOUT_API_LEVEL_CHANGE" },
{ "targetType": "GOOGLE_SYSTEM_SERVICES" },
{ "targetType": "GOOGLE_PLAY_SYSTEM_UPDATE" }
],
"predicate": {
"daysOfWeek": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"timeOfDayLowerBound": { "hours": 9 },
"timeOfDayUpperBound": { "hours": 17 }
},
"outcome": {
"outcomeType": "BLOCK"
}
},
{
"id": "Force Policy - rule2",
"targets": [
{ "targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE" },
{ "targetType": "OS_UPDATE_WITHOUT_API_LEVEL_CHANGE" },
{ "targetType": "GOOGLE_SYSTEM_SERVICES" },
{ "targetType": "GOOGLE_PLAY_SYSTEM_UPDATE" }
],
"predicate": {
"updateAgeUpperBound": "604800s"
},
"outcome": {
"outcomeType": "FORCE"
}
}
]
}
}
Ograniczanie aktualizacji do określonej daty
Możesz użyć zasad dateLowerBound i dateUpperBound, aby ograniczyć lub zezwolić na aktualizacje w określonym zakresie dat kalendarzowych w lokalnej strefie czasowej urządzenia. Ta reguła blokuje aktualizacje dla 4 kategorii docelowych do 14 marca 2026 r.:
{
"unifiedUpdatePolicy": {
"rules": [
{
"id": "block_until_date",
"targets": [
{ "targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE" },
{ "targetType": "OS_UPDATE_WITHOUT_API_LEVEL_CHANGE" },
{ "targetType": "GOOGLE_SYSTEM_SERVICES" },
{ "targetType": "GOOGLE_PLAY_SYSTEM_UPDATE" }
],
"predicate": {
"dateUpperBound": { "year": 2026, "month": 3, "day": 14 }
},
"outcome": {
"outcomeType": "BLOCK"
}
}
]
}
}