Chrome uzantısı güncelleme yaşam döngüsü

Bu kılavuzda, standart güncelleme süreci, manuel geçersiz kılmalar, geliştirici API'leri ve kurumsal politikaların önemli etkisi dahil olmak üzere eksiksiz uzantı güncelleme akışı ayrıntılı olarak açıklanmaktadır.

Standart güncelleme döngüsü

Chrome, yüklü uzantıları otomatik olarak en son sürümlerine güncelleyecek şekilde tasarlanmıştır. Böylece kullanıcılar yeni özelliklere ve güvenlik düzeltmelerine erişebilir. Chrome, varsayılan olarak başlangıçta ve birkaç saatte bir uzantı güncellemelerini kontrol eder.

Güncelleme işleminin kritik bir yönü, güncellemenin yalnızca uzantı boşta olarak kabul edildiğinde yüklenmesidir. Bir uzantının boşta olması için bileşenlerinin etkin olarak kullanılmaması gerekir. Manifest V3 bağlamında bu durum, öncelikle uzantının hizmet çalışanının çalışmadığı anlamına gelir. Hizmet çalışanı, etkinliğe dayalı olacak şekilde tasarlanmıştır ve etkin olunmayan sürenin ardından sonlandırılır. Ayrıca, yan panel, pop-up veya seçenekler sayfası gibi açık uzantı sayfaları, uzantının boşta kalmış olarak kabul edilmesini engeller. Etkin bir içerik komut dosyası, uzantının boşta olarak kabul edilip edilmeyeceğini etkilemez.

Bu boşta kalma şartı, sık kullanılan uzantıların güncellenmesinde gecikmelere neden olabilir. Bir uzantının hizmet çalışanı sürekli olarak etkinlikler tarafından tetikleniyorsa hiçbir zaman boşta duruma ulaşamayabilir ve güncelleme, tarayıcı yeniden başlatılana kadar ertelenir.

Uzantı güncelleme dağıtımını izleme

Kullanıcılarınızın kaçının uzantınızın en son sürümünü kullandığını öğrenmek için Chrome Web Mağazası analiz kontrol panelini kullanın. Chrome Web Mağazası geliştirici kontrol paneline gidin ve yayınlanmış uzantılarınızdan birini seçin. Yan gezinme çubuğunda Analytics -> Kullanıcılar'a gidin ve Öğeye göre günlük kullanıcılar grafiği'ne gidin. En son sürümünüzü kullanan kullanıcı sayısını burada görebilirsiniz.

Örnek bir uzantı için sürüm başına günlük kullanıcı sayısını gösteren ekran görüntüsü.

Uzantıları manuel olarak güncelleme

Kullanıcılar en son güncellemeleri hemen almak isterse Chrome manuel güncelleme mekanizması sunar. Bu araç, güncellemeleri test ederken de kullanışlıdır.

Kullanıcılar, aşağıdaki adımları uygulayarak yüklü tüm uzantılar için güncellemeyi zorunlu kılabilir:

  1. chrome://extensions sayfasına gidin.
  2. Sağ üst köşedeki açma/kapatma düğmesini kullanarak Geliştirici modu'nu etkinleştirin.
  3. Görüntülenen Güncelle düğmesini tıklayın.

Bu işlem, Chrome'un yüklenen tüm uzantıların en son sürümlerini Chrome Web Mağazası'ndan hemen getirmesini sağlar.

Uzantılardan gelen güncellemeleri kontrol etme

chrome.runtime API'si, uzantıların güncelleme mekanizmasıyla etkileşim kurması için araçlar sağlar.

İsteğe bağlı olarak güncellemeleri kontrol etme

chrome.runtime.requestUpdateCheck() işlevi, bir uzantının güncelleme kontrolünü programatik olarak başlatmasına olanak tanır. Bu özellik, özellikle bir arka uç hizmetine kritik bağımlılığı olan ve en son uyumlu sürümü çalıştırdığından emin olması gereken uzantılar için yararlıdır.

Bu işlev çağrıldığında Chrome, Chrome Web Mağazası'nda yeni bir sürüm olup olmadığını sorgular ve varsa yeni sürümü indirir. İşlevin geri çağırması, kontrolün sonucunu belirten bir durum alır.

Mevcut güncellemeleri dinleme

chrome.runtime.onUpdateAvailable etkinliği, bir güncelleme indirildiğinde ve yüklenmeye hazır olduğunda tetiklenir. Bu etkinlik, ayrıntılarında yeni sürüm numarasını sağlar. Bir uzantı, bu etkinliği dinleyerek güncelleme olup olmadığını belirleyebilir ve uygun olduğunda chrome.runtime.reload() kullanarak boşta kalmayı veya yeniden yüklemeyi düşünebilir.

Aşağıdaki kodda temel bir uygulama kalıbı gösterilmektedir:

İstisnai durumlarda, chrome.runtime.requestUpdateCheck() kullanarak tarayıcıyı uzantı güncellemesi olup olmadığını kontrol etmeye zorlamak mümkündür:

requestUpdateCheck() işlevine yapılan sık çağrıların tarayıcı tarafından kısıtlanacağını unutmayın. Bu işlevi yalnızca bir güncellemenin kullanıma sunulduğunu bildiğinizde kullanın. Örneğin, güncellenen bir arka uç, uzantının daha yeni bir sürümünü gerektirdiğinde.

Güncellemeleri kurumsal politika aracılığıyla kontrol etme

Yönetilen kurumsal ortamlarda, standart uzantı güncelleme akışı sistem yöneticileri tarafından belirlenen politikalara tabidir. Bu politikalar, güvenlik ve kararlılığı zorunlu kılmak için varsayılan davranışı geçersiz kılabilir.

Zorunlu yükleme

ExtensionInstallForcelist politikası, yöneticilerin kullanıcıları için belirli uzantıları sessizce yüklemesine olanak tanır. Kullanıcılar, bu politikayla yüklenen uzantıları devre dışı bırakamaz veya kaldıramaz.

Uzantı sürümünü sabitleme

Ancak işletmeler, diğer yazılımlarla uyumluluğu sağlamak için genellikle kullanılan uzantının tam sürümünü kontrol etmesi gerekir. Bunu sağlamak için yöneticiler bir uzantıyı belirli bir sürüme "sabitleyebilir". Bu işlem, yöneticinin bir kuruluş birimi için gerekli sürümü seçebileceği Google Yönetici Konsolu üzerinden yapılır. Bir uzantı sabitlendiğinde Chrome, bu uzantıyı belirtilen sürümden sonraki sürümlere güncellemez.

Güncelleme kaynağını geçersiz kılma

Kuruluşlar, güvenlik veya özelleştirme nedenleriyle uzantıların kendi çatallanmış sürümlerini barındırabilir. Bunu yapmak için override_update_url özelliği true olarak ayarlanmış ExtensionSettings politikasını kullanın. Bu politika, Chrome'u uzantıyı ve güncellemelerini Chrome Web Mağazası yerine belirtilen bir URL'den almaya zorlar.

Minimum Chrome sürümü belirleme

Uzantınızın manifest dosyasında bir minimum_chrome_version belirtebilirsiniz. Bu sayede uzantının yalnızca kullandığı API'leri destekleyen Chrome sürümlerine yüklenmesi sağlanır.

Yeni yüklemelerde Chrome Web Mağazası, Chrome'un eski sürümlerini kullanan kullanıcıların uzantıyı yüklemesini engelleyerek "Uyumlu değil" mesajını gösterir. Mevcut kullanıcılar için bir uzantının güncellemesi minimum_chrome_version değerini kullanıcının yüklü Chrome sürümünden daha yüksek bir sürüme çıkarırsa kullanıcılar bu uzantı için güncellemeleri sessizce almayı durdurur. Geliştiriciler bu durumun farkında olmalı ve kullanıcı tabanlarının önemli bir bölümünün etkilenebileceği durumlarda kullanıcıları bilgilendirmelidir.