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. Varsayılan olarak Chrome, 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 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. Service worker, 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 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ızdan 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ı sayısı grafiği'ne doğru aşağı kaydırın. 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, güncellemeleri test ederken de kullanışlı bir araçtı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.

İstediğiniz zaman 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 gösteren 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ının uzantı güncellemesi olup olmadığını kontrol etmesini zorlamak mümkündür:

requestUpdateCheck() işlevine yapılan sık çağrıların tarayıcı tarafından sınırlandırılacağını unutmayın. Bu işlevi yalnızca güncelleme olduğ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 daha yeni bir sürüme 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. Bo işlemi 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ı yalnızca kullandığı API'leri destekleyen Chrome sürümlerine yüklenir.

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.