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 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ı da uzantının boşta kalmış olarak değerlendirilmesini engeller. Etkin bir içerik komut dosyası, uzantının boşta olup olmadığını 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 durma durumuna 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ı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, 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ını güncellemeye zorlayabilir:

  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

browser.runtime API, 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

browser.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

browser.runtime.onUpdateAvailable etkinliği, bir güncelleme indirilip yüklenmeye hazır olduğunda tetiklenir. Bu etkinlik, ayrıntılarında yeni sürüm numarasını sağlar. Bu etkinliği dinleyen bir uzantı, güncelleme olup olmadığını belirleyebilir ve uygun olduğunda browser.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, browser.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 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çebildiğ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. Bunu yapmak için override_update_url özelliği true olarak ayarlanmış ExtensionSettings politikasını kullanın. Bu politika, Chrome'un uzantıyı ve güncellemelerini Chrome Web Mağazası yerine belirtilen bir URL'den getirmesini zorunlu kılar.

Minimum Chrome sürümü belirleme

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

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 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.