Kurumsal OTA güncellemeleri

İlgili içeriği oluşturmak için kullanılan Android Uyumluluk Tanımlama Belgesi (CDD) Güncellenebilir Yazılımlar uygulamanın SystemUpdatePolicy sınıfını kullanır. SystemUpdatePolicy, aşağıdaki durumlarda cihaz sahibinin uygulamasına izin verir: sistem güncellemelerinin yüklenmesini kontrol edebilir.

Cihaz sahiplerini bilgilendirme

Kablosuz (OTA) istemci, cihaz sahibinin uygulamalarını gelen OTA güncellemelerinin sistem API'si kullanılarak yapılması gerekir. OTA istemcisi ayrıca OTA güncellemesi ilk kez yapıldığında bir zaman damgası kaydı ekleme kullanılabilir. OTA istemcileri, cihaz sahibi uygulamalarına bildirim göndermek için DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime, boolean isSecurityPatch) işlevini çağırabilir. OTA istemcisi, güncelleme olup olmadığını bilmiyorsa bir güvenlik yaması varsa OTA istemcisi DevicePolicyManager.notifyPendingSystemUpdate(long updateReceivedTime)

Mevcut bir güncelleme yoksa OTA istemcisi şu ana kadar bu durumu bildirir: updateReceivedTime bağımsız değişkenini -1 olarak ayarlıyorum. OTA istemcisi OTA sunucusu veya istemciye bir OTA aktarıldığı zaman. Şunları da gönderebilirsiniz: artık daha sık e-posta gönderebilirsiniz.

Sistem güncelleme politikası

Android 9, cihaz kullanma yeteneğini geliştiriyor sahiplerini kontrol güncelleme almak için cihaz sahiplerinin OSA güncellemelerini 90 gün. Özel cihaz (eski adıyla COSU) çözümlerine odaklanan bu özellik, sahiplerinin tatiller gibi kritik dönemlerde cihazlarda çalışan işletim sistemi sürümünü duraklatmasına olanak tanır.

CDD'ye uymak için OTA istemcisinin davranışsal politikalar. DO, cihaz sistem güncelleme alt sistemlerinin uyması gereken aşağıdaki politikaları ayarlayabilir:

Cihaz sahipleri şunları da yapabilir: set OS sürümünü donduran dondurma dönemleri (Android 9 veya sonraki sürümlerde) tatiller ve diğer yoğun zamanlar gibi kritik dönemlerde Sistem , dondurma döneminde OTA güncellemelerini yüklemez. Önerilerimiz SystemUpdatePolicy.InstallationOption (bkz. aşağıdaki bölümde yer alır), ancak OTA istemcisi SystemUpdatePolicy.getFreezePeriods() cihazın dondurma süresinde olup olmadığını kontrol edin.

Yükleme seçeneklerini uygulama

Android 9, bir @SystemApi kullanıma sundu. SystemUpdatePolicy.InstallationOption, Google'ın için de kullanılabilir. SystemUpdatePolicy.InstallationOption, sarmalayıcı görevi görür sınıfını (politikalar ve dondurma dönemleri) kapsar. Yükleme seçeneği, istemcilere mevcut sistem güncelleme politikası veya ayarlanabilecek dondurma dönemi göz önüne alındığında, gelen sistem güncellemeleriyle ilgili olarak nasıl işlem yapmaları gerektiğini ve bu işlemin ne kadar süre boyunca geçerli olacağını bildirir. Yükleme seçenekleri aşağıdakilerden biri olabilir:

  • TYPE_INSTALL_AUTOMATIC - Gelen sistem güncellemeleri yüklenir hale gelir gelmez kullanıcı müdahalesi olmaksızın kullanılabilir. Cihaz otomatik olarak yeniden başlatılır.
  • TYPE_POSTPONE: Gelen sistem güncellemeleri en fazla 30 gün geciktirilebilir. Kullanıcılar güncellemeleri manuel olarak yükleyemez. Cihaz üreticileri, güvenlik yamalarını engelleyip engellemeyeceklerini seçebilir.
  • TYPE_PAUSE - Gelen sistem güncellemelerinde gecikme olabilir süresiz olarak devam eder. Kullanıcılar güncellemeleri manuel olarak yükleyemez. TYPE_PAUSE, şunlar dahil tüm güncellemeleri geciktiriyor: .

Sistem güncelleme istemcileri, SystemUpdatePolicy.getInstallationOptionAt(long when) kullanarak SystemUpdatePolicy.InstallationOption sorgulayabilir. Bu durumda when, yükleme seçeneğinin sorgulandığı zamanı epoch'tan beri geçen milisaniye sayısı olarak temsil eder. Sistem güncelleme istemcileri, SystemUpdatePolicy.getInstallationOptionAt(long when) yöntemini kullanarak geçerlilik süresi dolana kadar döndürülen seçenekle ilgili işlem yapabilir. Döndürülen seçenek geçerliliğini yitirdikten sonra istemci, en son seçenek için yeni bir zaman damgası kullanarak başka bir sorgu gönderebilir.

Sistem güncelleme istemcisinin dinlemesi gerekir DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED. tüm politika güncellendiğinden haberdar edilmemelidir.

TYPE_PAUSE politikasını doğrulayın

TYPE_PAUSE seçeneğinin çalıştığını manuel olarak doğrulayabilirsiniz dönüşüm işlemidir.

TYPE_PAUSE politikası yürürlükte

Bir TYPE_PAUSE politikasının çalıştığını doğrulamak için:

  1. Otomatik bir politika ayarlayın ve TYPE_PAUSE değerini belirtin.
  2. Sistem saati duraklatma dönemindeyken OTA güncellemesi gönderin.
  3. Cihazın OTA güncellemesini almadığını ve kullanıcının , güncellemeyi manuel olarak yükleyemez.
  4. Cihaz bir A/B cihazıysa cihazı yeniden başlatın ve yeniden başlatma, güncellemenin otomatik yüklemesini tetiklemedi.

TYPE_PAUSE politikasının süresi doldu

Süresi dolan bir TYPE_PAUSE politikasının çalıştığını doğrulamak için:

  1. Otomatik bir politika ayarlayın ve TYPE_PAUSE değerini belirtin.
  2. Sistem saati duraklatma süresindeyken bir OTA güncellemesi başlatın.
  3. Duraklatma süresinin dolmasını bekleyin.
  4. Cihazın otomatik olarak yeniden başlatıldığını ve OTA güncellemesinin yapıldığından emin olun. yeniden başlatıldıktan sonra alınır.