Android 14, yeni API'ler sayesinde üçüncü taraf uygulama mağazalarının kullanıcıları için deneyimi daha da iyi hale getirmeye hazırlanıyor.
Google Play, Android kullanıcıları arasında açık ara en popüler uygulama mağazasıdır, ancak bazıları onun en üst sırayı hak etmediğini iddia edebilir. Google, şu nedenlerle dünya çapında düzenleyici kurumlar ve yasa koyucu kurumlar tarafından incelendi: uygulama mağazası hakimiyetini nasıl sürdürdüğünü ve bu baskının herhangi bir zamanda gevşeyeceğine dair hiçbir işaret yok yakında. Belki de bu nedenle Google, yeni özellikler sunmak için inisiyatif alıyor. Android 14 üçüncü taraf uygulama mağazalarının kullanıcılarının deneyimini iyileştiren.
Android'deki üçüncü taraf uygulama mağazalarının çoğu Google Play ile gerçekten rekabet edemiyor ve bunun nedeni yalnızca uygulama seçimleri değil. Birinci taraf, önceden yüklenmiş uygulama mağazaları her zaman otomatik uygulama güncellemeleri yapma yeteneğine sahipken, üçüncü taraf uygulama mağazaları yalnızca son zamanlarda katılımsız güncellemeler yapabilmiştir. Google eklendi
Android 12'de bir API üçüncü taraf uygulama mağazalarının, kullanıcı işlemine ihtiyaç duymadan uygulamaları güncellemesine izin vererek, sürtünmeyi azaltır. üçüncü taraf bir uygulama mağazası kullanma.Ancak bu, işlevsellik söz konusu olduğunda üçüncü taraf uygulama mağazalarını büyük bir dezavantaja soktu çünkü kolayca bilemezlerdi. Ne zaman aslında otomatik bir güncelleme yapmak güvenli olacaktır. Google'ın, üçüncü taraf uygulama mağazalarının "hafif güncellemeler" gerçekleştirmesini sağlayan yeni bir API ile Android 14'te çözmeye çalıştığı şey de bu.
Nazik güncellemeler
Android 14, üçüncü taraf uygulama mağazalarının, bir uygulamayı otomatik olarak güncellemeye devam etmeden önce belirli koşulların karşılanıp karşılanmadığını kontrol etmesine olanak tanıyan yeni bir API ekledi. bu Paket yükleyici. Yükleme Kısıtlamaları API'sı "uygulama mağazaları tarafından kullanıcı deneyimini bozmadan otomatik güncellemeler sunmak için kullanılabilir (hafif güncelleme olarak adlandırılır) - örneğin, bir uygulama mağazası, güncellenecek uygulamanın kullanıcıyla etkileşime girdiğini [sic] anladığında güncellemeleri durdurabilir. kullanıcı.”
Bu yeni API, üçüncü taraf uygulama mağazalarının güncellemeye hazırladıkları bir uygulamanın etkin bir ön plan hizmeti olup olmadığını kontrol etmesine olanak tanır. (isRequireAppNotForeground), kullanıcıyla bir şekilde etkileşime giriyor (isRequireAppNotInteracting) veya ekranda (isRequireAppNotTopVisible). Üçüncü taraf uygulama mağazaları, cihazın uyku modunda (isRequireDeviceIdle) veya bir telefon görüşmesinde (isRequireNotInCall) olup olmadığını da kontrol edebilir.
API, hangi koşulların kontrol edileceğini belirlemeye izin verirken, belgeler "sistem bilir" olarak önceden ayarlanmış kısıtlamaların kullanılmasını önerir. en iyi nasıl yapılır.” Google'ın kendi uygulama mağazasında otomatik güncellemeleri en iyi nasıl ele alacağını geliştirmek için bolca zamanı olduğu göz önüne alındığında bu mantıklı. Google'ın API'ye daha fazla kısıtlama eklemesi durumunda, hassas güncellemelerin doğruluğu ve verimliliği gelecekteki sürümlerde iyileştirilebileceğinden, belgelerde belirtildiği gibi ön ayarın kullanılması da yararlıdır.
PackageInstaller'ın sağladığı her koşul. InstallConstaints API, kontrolün mevcut API'ler aracılığıyla zaten kontrol edilebilmesini sağlar, ancak sistemin bu kontrolleri halletmesi çok daha kolay ve daha az müdahalecidir. Örneğin, güncelledikleri bir uygulamanın aktif olarak kullanılıp kullanılmadığını kontrol etmek isteyen üçüncü taraf uygulama mağazaları kullanıcı tarafından şu anda her ikisi de hassas olan Kullanım İstatistikleri veya Erişilebilirlik Hizmeti gibi bir API kullanmak zorunda kalacaktır. izinler. Ancak bu yeni Android 14 API'sini kullanırlarsa işlerini yapmak için bu izinlere ihtiyaçları olmaz.
Sahipliği güncelle
Üçüncü taraf uygulama mağazaları için Android 14'teki tek gelişme "hafif güncellemeleri" etkinleştirmek değildir. Ayrıca, üçüncü taraf uygulama mağazalarının, ilk yükledikleri bir uygulama için gelecekteki otomatik güncellemelerin özel kaynağı olmasına olanak tanıyan yeni bir "güncelleme sahipliği" mekanizması da var. Bu, üçüncü taraf bir uygulama mağazası kullanıyorsanız, bu mağaza aracılığıyla sunulan uygulamalar tarafından incelendiği anlamına gelir. örneğin, diğer uygulama mağazalarında bulunan incelenmemiş bir güncelleme otomatik olarak şuraya aktarılmaz: cihazınız.
Şu anda, bir üçüncü taraf uygulama mağazası aracılığıyla bir uygulama yüklediğinizde, birinci taraf bir uygulama mağazasının bu uygulamayı güncellemesini engelleyen hiçbir şey yoktur. Android 12'nin katılımsız güncellemeler API'si yalnızca üçüncü taraf uygulama mağazalarının ilk yükledikleri uygulamaları sessizce güncellemesine izin verirken, birinci taraf uygulama mağazaları ayrıcalıklara sahip oldukları için etkilenmez. INSTALL_PACKAGES izin.
Android 14'teki üçüncü taraf uygulama mağazaları, yeni setRequestUpdateSahiplik yöntem Paket yükleyici. Oturum Paramları, ancak sisteme yüklemek üzere oldukları uygulama üzerinde güncelleme sahipliğini talep ettiklerini söylemek için. Bir uygulama için güncelleme sahipliği yaptırımı etkinleştirildiğinde, INSTALL_PACKAGES iznine sahip olanlar da dahil olmak üzere diğer tüm uygulama mağazalarının, uygulamayı güncellemek için kullanıcının işlem yapması gerekir. Güncelleme sahipliği yalnızca bir uygulamanın ilk kurulumu sırasında etkinleştirilebilir, yani başka bir uygulama mağazası söz konusu uygulama buradan kaldırılıp yeniden yüklenmedikçe güncellemeleri devralamaz mağaza. Uygulama mağazaları, bir uygulama için güncelleme sahipliğinin etkinleştirilip etkinleştirilmediğini ve öyleyse hangi uygulamanın güncelleme sahibi olduğunu yeni InstallSourceInfo#getUpdateOwnerPackageName() API.
Üçüncü taraf uygulama mağazaları yeniyi tutmalı ENFORCE_UPDATE_OWNERSHIP güncelleme sahipliği uygulama API'sini kullanma izni, ancak bu iznin koruma düzeyi "normal" olduğundan, yükleme sırasında sistem tarafından verilecektir. Ancak, Google Play'in bu iznin/API'nin kullanımını denetleyip denetlemeyeceği henüz belli değil.
Ön onayı yükle
Vurgulamak istediğim son yeni Android 14 API'si Paket yükleyici. Oturum#istekKullanıcıÖn Onayı. Bu API, üçüncü taraf uygulama mağazalarının bir yükleme oturumu gerçekleştirmeden önce kullanıcı onayı istemesine olanak tanır. Bunun, bir uygulamayı arka planda güncellemeden önce kasıtlı olarak kullanıcıyı uyarmak isteyen üçüncü taraf uygulama mağazaları için yararlı olacağını düşünüyorum.
Örneğin, güvenlik odaklı bir uygulama mağazasının, bir uygulama güncellemesi yeni izinler eklediğinde kullanıcısına bunu bildirmek istediğini hayal edin; Uygulama mağazası, söz konusu uygulamayı otomatik olarak güncellemek ve böylece koruma seviyesi "normal" ise bu izni otomatik olarak vermek yerine, güncellemeyi yapmadan önce kullanıcıyı uyarabilir. Şu anda, otomatik güncelleme sırasında bir kullanıcı mevcut değilse, üçüncü taraf uygulama mağazasının yükleme oturumunu takip etmesi ve daha sonra onlara sorması gerekir. Bu API, bu süreci basitleştirir.
Android 14, bu yıl halka sunulduğunda bir sürü yeni özellik ve API sunacak. Bu yeni API'ler, tespit ettiğimiz diğer bazı değişiklikler gibi gizli olmasa da, bu API'lerin kararlı sürümde geliştiriciler tarafından kullanılabileceğinin garantisi yoktur. Bunun nedeni, Haziran 2023'te Android 14'ün Beta 3 ile "platform kararlılığına" ulaşana kadar API donmaması olmayacak ve şu anda yalnızca DP1'deyiz. Bu API'lerin kalıcı olup olmadığını veya üçüncü taraf uygulama mağazalarıyla ilgili yeni API'lerin eklenip eklenmediğini görmek için gelecekteki Android 14 DP ve Beta sürümlerini takip edeceğiz.