Kontrol Update Terpadu

Kontrol Update Terpadu (UUC) memberi admin IT satu cara yang konsisten untuk mengontrol kapan update software didownload dan diterapkan di perangkat Android milik perusahaan, sehingga update tidak mengganggu operasi bisnis.

Dengan satu kebijakan UUC, Anda dapat mengontrol update untuk komponen software berikut:

  • Update OS yang dikeluarkan oleh produsen perangkat (OEM), termasuk update OS utama serta update OS dan keamanan minor.
  • Update sistem Google Play (Utama).
  • Layanan sistem Google, seperti layanan Google Play dan Android System WebView, baik sebagai grup atau satu aplikasi sekaligus.

Anda menentukan aturan UUC di kolom unifiedUpdatePolicy dari resource Policy. Aplikasi Android Device Policy (ADP) adalah titik keputusan pusat di perangkat untuk UUC.

Prasyarat

Sebelum mengonfigurasi UUC, verifikasi persyaratan berikut:

Memperbarui target Terkelola sepenuhnya (Pemilik Perangkat) Profil kerja di perangkat milik perusahaan (COPE)
Layanan sistem Google Play (GOOGLE_SYSTEM_SERVICES, SINGLE_APP) Android 13 (level API 33) dan yang lebih tinggi Android 15 (level API 35) dan yang lebih tinggi
Update sistem Google Play/Mainline (GOOGLE_PLAY_SYSTEM_UPDATE) Android 13 (level API 33) dan yang lebih tinggi Android 15 (level API 35) dan yang lebih tinggi
Update OS — OEM yang menggunakan agen OTA Google, seperti Google Pixel (OS_UPDATE_WITH_API_LEVEL_CHANGE, OS_UPDATE_WITHOUT_API_LEVEL_CHANGE) Android 13 (level API 33) dan yang lebih tinggi Android 15 (level API 35) dan yang lebih tinggi
Update OS — OEM lainnya (OS_UPDATE_WITH_API_LEVEL_CHANGE, OS_UPDATE_WITHOUT_API_LEVEL_CHANGE) Android 17 (level API 37) dan yang lebih tinggi Android 17 (level API 37) dan yang lebih tinggi

Pertimbangan dan batasan

Tinjau pertimbangan dan batasan berikut sebelum merencanakan integrasi UUC Anda:

  • Wizard penyiapan awal: Kebijakan UUC tidak diterapkan saat perangkat berada dalam wizard penyiapan awal. Update penting dari Google Play atau agen OTA OEM dapat terjadi selama penyiapan perangkat.
  • Update awal setelah penyiapan: Kebijakan UUC mungkin tidak berlaku untuk update otomatis yang dimulai segera setelah penyiapan perangkat, seperti update awal ke layanan Google Play, sebelum kebijakan mencapai ADP.
  • Modul OTA yang dipaketkan: Update OTA OEM dapat berisi versi terbaru modul Mainline dan layanan sistem Google. Menginstal update OTA OEM akan otomatis mengupdate komponen yang dipaketkan tersebut.
  • Update sistem Google Play (Utama): UUC mengontrol update Utama sebagai satu unit, sehingga paket Utama individual tidak dapat dikontrol secara independen. UUC hanya mengatur awal fase download: setelah download Mainline dimulai, download tidak dapat dihentikan. Jika aturan BLOCK diterapkan setelah download dimulai, update akan tetap selesai saat perangkat dimulai ulang berikutnya.
  • Update manual selama periode pemblokiran: Untuk update sistem Google Play (Mainline) dan layanan sistem Google, aturan BLOCK hanya mencegah update otomatis. Pengguna masih dapat mengupdate komponen ini secara manual meskipun aturan BLOCK aktif. Masalah ini akan diperbaiki dalam rilis mendatang.
  • Aplikasi yang dikecualikan: UUC tidak mengelola update untuk aplikasi Google Play Store atau aplikasi ADP.

Memahami kebijakan UUC

UnifiedUpdatePolicy terdiri dari daftar objek Rule yang diurutkan. Setiap aturan menentukan:

  • ID (id) yang ditentukan oleh solusi EMM Anda
  • satu atau beberapa target update software
  • tahap evaluasi opsional.
  • satu atau beberapa predikat opsional yang berisi kondisi berbasis waktu
  • hasil yang menentukan cara penanganan update

Evaluasi aturan

Saat mengevaluasi update yang tertunda, ADP mempertimbangkan semua aturan yang berlaku untuk target dan tahap update tersebut, sesuai urutan kemunculannya di rules. ADP memilih aturan pertama yang predikatnya bernilai true dan menerapkan hasilnya, seperti pernyataan if-else berantai. Jika tidak ada predikat aturan yang bernilai true, klien update yang bertanggung jawab atas komponen akan mengelola update secara normal.

ID aturan

Setiap aturan memerlukan id hingga 64 karakter yang ditentukan oleh solusi EMM Anda. id tidak boleh kosong dan harus unik di antara aturan kebijakan.

Memperbarui target

Setiap aturan harus menentukan daftar targets yang tidak kosong tanpa duplikat. Menentukan beberapa target dalam satu aturan sama dengan menentukan beberapa aturan secara berurutan, masing-masing dengan satu target, dalam urutan yang sama.

Tabel berikut menjelaskan nilai targetType yang didukung:

Nilai targetType Deskripsi
OS_UPDATE_WITH_API_LEVEL_CHANGE Update OS yang dikeluarkan oleh OEM yang mengubah level API Android perangkat (update OS utama).
OS_UPDATE_WITHOUT_API_LEVEL_CHANGE Update OS yang dikeluarkan oleh OEM yang tidak mengubah level API Android perangkat (update OS dan keamanan minor).
GOOGLE_PLAY_SYSTEM_UPDATE Update sistem Google Play (Utama). Mengontrol update Mainline sebagai satu entity.
GOOGLE_SYSTEM_SERVICES Layanan sistem Google yang diupdate dari Google Play, seperti layanan Google Play dan Android System WebView.
SINGLE_APP Nama paket layanan di Google Play yang dimiliki oleh GOOGLE_SYSTEM_SERVICES, seperti com.google.android.webview. Memerlukan setelan singleApp dengan packageName aplikasi.

Tahap evaluasi

Untuk target OS_UPDATE_WITH_API_LEVEL_CHANGE dan OS_UPDATE_WITHOUT_API_LEVEL_CHANGE, Anda dapat menentukan stages tempat aturan dievaluasi:

  • STAGE_DOWNLOAD: Aturan dievaluasi sebelum mendownload update.
  • STAGE_APPLY: Aturan dievaluasi sebelum mengambil tindakan yang menerapkan update, seperti memicu reboot otomatis.

Jika stages kosong, aturan akan dievaluasi di semua tahap. Catatan: Untuk target GOOGLE_SYSTEM_SERVICES, SINGLE_APP, dan GOOGLE_PLAY_SYSTEM_UPDATE, tahap akan diabaikan.

Predikat

predicate menentukan kondisi berbasis waktu yang cocok dengan aturan—seperti hari dalam seminggu, periode waktu (pada perincian jam), rentang tanggal kalender di zona waktu lokal perangkat, atau berapa lama update telah tersedia untuk perangkat (dalam kelipatan 24 jam).

Semua kondisi yang ditetapkan dalam satu predikat digabungkan menggunakan AND logis. Predikat kosong atau yang dihilangkan selalu bernilai true. Untuk mengetahui daftar lengkap kolom predikat dan batasannya, lihat dokumentasi referensi Predicate.

Hasil

outcome menentukan cara ADP menginstruksikan agen update untuk melanjutkan saat predikat aturan bernilai true. Tabel berikut menjelaskan nilai outcomeType yang didukung:

Nilai outcomeType Deskripsi
BLOCK Mencegah update didownload atau diterapkan. Untuk update yang dikirimkan melalui Google Play (GOOGLE_SYSTEM_SERVICES, SINGLE_APP, GOOGLE_PLAY_SYSTEM_UPDATE), BLOCK hanya memengaruhi update otomatis dan tidak mencegah update manual oleh pengguna. Untuk update OS OEM, BLOCK mencegah update manual dan otomatis.
USER_PROMPT Tidak melakukan tindakan update tanpa izin pengguna, dan meminta pengguna untuk melanjutkan update.
FORCE Segera memulai tindakan untuk tahap yang dievaluasi, seperti mendownload update atau memulai ulang perangkat untuk menerapkannya.

Batas penundaan maksimum

UUC memungkinkan penundaan update dengan hasil BLOCK atau USER_PROMPT hingga periode penundaan maksimum untuk setiap target update. Setelah update tersedia lebih lama dari periode penundaan maksimumnya, hasil BLOCK atau USER_PROMPT akan diganti ke default, dan klien update akan mengelola update secara normal.

Tabel berikut mencantumkan batas penundaan maksimum menurut target dan mode pengelolaan:

Kelompok target Memperbarui target Perangkat yang sepenuhnya dikelola Profil kerja di perangkat milik perusahaan
Update tanpa perubahan level API Layanan sistem Google (seperti WebView) 5 hari 5 hari
Update tanpa perubahan level API Update sistem Google Play (Mainline) dan update sistem OTA OEM tanpa perubahan level API (termasuk patch bulanan penting) 25 hari 25 hari
Update dengan perubahan level API Update sistem OTA OEM dengan perubahan level API 180 hari 90 hari

Prioritas systemUpdate

Sebelum Anda menambahkan unifiedUpdatePolicy ke kebijakan yang ada, tinjau setelan systemUpdate-nya dan buat ulang perilaku yang Anda perlukan dengan aturan UUC. Misalnya, untuk mencegah update OS di luar jam kerja, gunakan aturan BLOCK seperti yang ada di Memblokir update OS utama selama jam kerja.

Perilaku prioritas ini berbeda dengan DPC kustom yang menggunakan AMAPI SDK, dengan SystemUpdatePolicy AOSP lebih diprioritaskan daripada UUC untuk update OTA OEM. Untuk mengetahui detailnya, lihat Prioritas SystemUpdatePolicy AOSP.

Mengonfigurasi kebijakan UUC

Anda dapat menetapkan, mengambil, dan menghapus kolom unifiedUpdatePolicy pada resource kebijakan, serta memeriksa kepatuhan perangkat untuk perangkat yang menggunakan kebijakan tersebut.

Menetapkan kebijakan UUC

Untuk mengonfigurasi UUC, tambahkan objek unifiedUpdatePolicy ke kebijakan. Untuk menerapkan kebijakan UUC tanpa mengubah setelan lain dari kebijakan yang ada, panggil enterprises.policies.patch dengan 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"
        }
      }
    ]
  }
}

Kebijakan yang diperbarui akan diterapkan ke semua perangkat yang menggunakannya. ADP mengevaluasi aturan di setiap perangkat setiap kali update tersedia untuk komponen yang dikontrol.

Mengambil kebijakan UUC

Untuk membaca aturan UUC yang dikonfigurasi, panggil enterprises.policies.get dan periksa kolom unifiedUpdatePolicy dari kebijakan yang ditampilkan:

GET https://androidmanagement.googleapis.com/v1/enterprises/{enterpriseId}/policies/{policyId}

Menghapus kebijakan UUC

Untuk menghapus semua aturan UUC dari kebijakan, panggil enterprises.policies.patch dengan updateMask=unifiedUpdatePolicy dan isi permintaan yang tidak berisi unifiedUpdatePolicy:

PATCH https://androidmanagement.googleapis.com/v1/enterprises/{enterpriseId}/policies/{policyId}?updateMask=unifiedUpdatePolicy
{}

Contoh konfigurasi kebijakan

Contoh berikut menunjukkan objek unifiedUpdatePolicy untuk skenario umum. Terapkan dengan enterprises.policies.patch seperti yang dijelaskan dalam Menetapkan kebijakan UUC. Skenario yang sama tersedia sebagai kode Kotlin dan Java di Mengonfigurasi Kontrol Update Terpadu dengan AMAPI SDK.

Memblokir update OS utama selama jam kerja

Aturan berikut memblokir update OS utama (OS_UPDATE_WITH_API_LEVEL_CHANGE) dari pukul 09.00 hingga 17.00, Senin hingga Jumat:

{
  "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"
        }
      }
    ]
  }
}

Memaksa update OS berdasarkan usia update

Aturan berikut memaksa update OS utama yang telah tersedia untuk perangkat hingga 7 hari (604800s):

{
  "unifiedUpdatePolicy": {
    "rules": [
      {
        "id": "Force Policy",
        "targets": [
          {
            "targetType": "OS_UPDATE_WITH_API_LEVEL_CHANGE"
          }
        ],
        "predicate": {
          "updateAgeUpperBound": "604800s"
        },
        "outcome": {
          "outcomeType": "FORCE"
        }
      }
    ]
  }
}

Memblokir update untuk satu aplikasi layanan sistem Google

Untuk mengontrol aplikasi tertentu yang merupakan bagian dari layanan sistem Google, seperti Android System WebView (com.google.android.webview), tetapkan targetType ke SINGLE_APP dan berikan packageName aplikasi di singleApp. Aturan berikut memblokir update WebView dari pukul 09.00 hingga 17.00, Senin hingga Jumat:

{
  "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"
        }
      }
    ]
  }
}

Menggabungkan beberapa aturan di semua target update

Karena aturan dievaluasi secara berurutan, Anda dapat menggabungkan beberapa aturan untuk memblokir update selama periode tertentu dan memaksa update di luar periode tersebut.

Contoh berikut menerapkan dua aturan berurutan di empat target kategori (OS_UPDATE_WITH_API_LEVEL_CHANGE, OS_UPDATE_WITHOUT_API_LEVEL_CHANGE, GOOGLE_SYSTEM_SERVICES, dan GOOGLE_PLAY_SYSTEM_UPDATE):

  1. Blokir semua update selama jam kerja (Senin–Jumat, pukul 09.00 hingga 17.00).
  2. Di luar jam kerja, paksa update yang telah tersedia hingga 7 hari.
{
  "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"
        }
      }
    ]
  }
}

Membatasi update hingga tanggal kalender

Anda dapat menggunakan dateLowerBound dan dateUpperBound untuk membatasi atau mengizinkan update dalam rentang tanggal kalender tertentu di zona waktu lokal perangkat. Aturan berikut memblokir update untuk empat target kategori hingga 14 Maret 2026:

{
  "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"
        }
      }
    ]
  }
}