Alternatif uzantı dağıtım seçenekleri

Tüm Chrome uzantıları, doğrudan Chrome Web Mağazası'ndan veya aşağıda açıklanan mekanizmalar kullanılarak dağıtılmalıdır. Bu dağıtım yöntemlerinden birine uyulmaması, Chrome uzantı politikasının ihlali anlamına gelir ve uzantının ve/veya yazılımın dağıtılarak istenmeyen yazılım olarak işaretlenmesine neden olabilir.

Kullanıcılar, uzantıları genellikle Chrome Web Mağazası'ndan yükler, ancak bazen bir uzantının başka yollarla yüklenmesini isteyebilirsiniz. İki tipik durum şunlardır:

  • Uzantı başka bir yazılımla ilişkilendirilir ve kullanıcı bu diğer yazılımı her yüklediğinde uzantı yüklenmelidir.
  • Bir ağ yöneticisi, aynı uzantıları kuruluşunun tamamına yüklemek istiyor.

Chrome Web Mağazası'ndan yüklenmemiş uzantılar, harici uzantı olarak bilinir. Başka bir yazılım için yükleme işleminin bir parçası olarak uzantı dağıtmak isteyen geliştiriciler veya bir uzantıyı kuruluşları genelinde dağıtmak isteyen ağ yöneticileri için Google Chrome, aşağıdaki uzantı yükleme yöntemlerini destekler:

  • Tercihler JSON dosyası kullanma (yalnızca Mac OS X ve Linux için)
  • Windows kayıt defterini kullanma (yalnızca Windows için)

Her iki yöntem de update_URL konumunda barındırılan bir uzantının yüklenmesini destekler. Windows ve Mac'te update_URL, uzantının barındırılması gereken Chrome Web Mağazası'nı işaret etmelidir.

Linux'taki tercihler dosyası, uzantıyı barındırdığınız kendi sunucunuzu işaret edebilir. Tercihler JSON dosyası, kullanıcının Linux bilgisayarındaki bir .crx uzantı dosyasından uzantı yüklemeyi de destekler.

Başlamadan önce

Öncelikle uzantıyı Chrome Web Mağazası'nda publish veya bir .crx dosyasını paketleyin ve başarıyla yüklendiğinden emin olun.

Güncelleme URL'sinden yüklüyorsanız uzantının düzgün şekilde barındırıldığından emin olun.

Tercihler dosyasını veya kayıt defterini düzenlemeden önce aşağıdakileri not edin:

  • Uzantının .crx dosyasının amaçlanan konumu veya yayınlandığı güncelleme URL'si
  • Uzantının sürümü (manifest dosyasından veya chrome://extensions sayfasından)
  • Uzantının kimliği (paketlenmiş uzantıyı yüklediğinizde chrome://extensions sayfasından)

Aşağıdaki örneklerde sürümün 1.0, kimliğin ise aaaaaaaaaabbbbbbbbbbcccccccccc olduğu varsayılmaktadır.

Bir tercihler dosyası kullanma

  1. Linux'taki bir dosyadan yükleme yapıyorsanız .crx uzantı dosyasını, uzantıyı yüklemek istediğiniz makinede kullanılabilir hale getirin. (Yerel dizine veya bir ağ paylaşımına kopyalayın, örneğin \\server\share\extension.crx veya /home/share/extension.crx.)
  2. Aşağıda listelenen klasörlerden birinde, aşağıdaki ada sahip bir dosya oluşturun: aaaaaaaaaabbbbbbbbbbcccccccccc.json. Buradaki dosya adı (uzantısı olmadan), uzantınızın kimliğine karşılık gelir. Konum, işletim sistemine bağlıdır.

    Mac OS X:

    Belirli bir kullanıcı için: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ Tüm kullanıcılar için: /Library/Application Support/Google/Chrome/External Extensions/

    Tüm kullanıcılar için harici uzantı dosyası, yalnızca yoldaki her dizin root kullanıcısına aitse, admin veya wheel grubuna sahipse ve herkes tarafından yazılabilir değilse okunur. Yol ayrıca sembolik bağlantılar içermemelidir. Bu kısıtlamalar, ayrıcalığı olmayan bir kullanıcının tüm kullanıcılar için uzantılar yüklemesine neden olmasını engeller. Ayrıntılar için sorun giderme bölümüne bakın.

    Linux:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    Not: aaaaaaaaaabbbbbbbbbbcccccccccc.json dosyalarının herkes tarafından okunabilir olması için gerekirse chmod kullanın.

  3. Yalnızca Linux: Bir dosyadan yüklüyorsanız yukarıda oluşturulan dosyada "external_crx" ve "external_version" adlı alanlarla uzantının konumunu ve sürümünü belirtin.

    • Örnek:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • Not: Her bir \` character in the location. For example,\server\share\extension.crxwould be"\\server\share\extension.crx"` değerini kod dışına almanız gerekir.
    • Bir güncelleme URL'sinden yükleme yapıyorsanız uzantının güncelleme URL'sini "external_update_url" alan adıyla belirtin.
    • Yerel .crx dosyasından yükleme örneği (yalnızca Linux):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • Chrome Web Mağazası'ndan (Mac ve Linux) yükleme örneği:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • Uzantıyı yalnızca bazı tarayıcı yerel ayarları için yüklemek isterseniz "supported_locale" alan adında desteklenen yerel ayarları listeleyebilirsiniz. Yerel ayar "en" gibi bir üst yerel ayar belirtebilir. Bu durumda uzantı "en-US", "en-GB" gibi tüm İngilizce yerel ayarlar için yüklenir. Uzantı tarafından desteklenmeyen başka bir tarayıcı yerel ayarı seçilirse harici uzantılar kaldırılır. "supported_locales" listesi eksikse uzantı herhangi bir yerel ayar için yüklenir.
    • Örnek:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. JSON dosyasını kaydedin.

  5. Google Chrome'u başlatın ve chrome://extensions adresine gidin. Uzantının listelendiğini göreceksiniz.

Mac OS izinleriyle ilgili sorunları giderme

Mac OS'te, tüm kullanıcıların harici uzantı dosyaları yalnızca dosya sistemi izinleri, ayrıcalığı olmayan kullanıcıların dosyayı değiştirmesini engelliyorsa okunur. Chrome başlatıldığında yüklenen harici uzantıları görmüyorsanız, harici uzantı tercihleri dosyalarıyla ilgili bir izin sorunu olabilir. Sorunun bu olup olmadığını anlamak için şu adımları uygulayın:

  1. Console programını başlatın. Bu dosyayı /Applications/Utilities/Console altında bulabilirsiniz.
  2. Console'un en soldaki simgesinde "Show Log List" (Günlük Listesini Göster) yazıyorsa o simgeyi tıklayın. Solda ikinci bir sütun görüntülenir.
  3. Sol bölmede "Konsol İletileri"ni tıklayın.
  4. Can not read external extensions dizesini arayın. Harici uzantı dosyalarını okumada bir sorun olursa bir hata mesajı görürsünüz. Hemen bu hatanın hemen üzerinde sorunu açıklayan başka bir hata mesajı bulunur. Örneğin, "Path /Kitaplık/Uygulama Desteği/Google/Chrome yanlış gruba ait" hatasını görürseniz dizin grup sahibini Yönetici grubu olarak değiştirmek için chgrp veya Finder'ın Bilgi Al iletişim kutusunu kullanmanız gerekir.
  5. Sorunu düzelttikten sonra Chrome'u yeniden başlatın. Harici uzantının şu anda yüklü olup olmadığını test edin. Bir izin hatası, Chrome'un ikinci bir hatayı algılamasını engelleyebilir. Harici uzantı yüklenmediyse Console uygulamasında bir hata görene kadar bu adımları tekrarlayın.

Windows kayıt defterini kullanma

  1. Kayıt defterinde aşağıdaki anahtarı bulun veya oluşturun:
    • 32 bit Windows: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • 64 bit Windows: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Uzantılar anahtarının altında, uzantınızın kimliğiyle aynı ada (örneğin, aaaaaaaaaabbbbbbbbbbcccccccccc) sahip yeni bir anahtar (klasör) oluşturun.
  3. Uzantı anahtarınızda "update_url" bir özellik oluşturun ve şu değere ayarlayın: "https://clients2.google.com/service/update2/crx" (bu, uzantınızın Chrome Web Mağazası'ndaki crx'ini işaret eder):

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. Tarayıcıyı başlatın ve chrome://extensions adresine gidin. Uzantının listelendiğini göreceksiniz.

Güncelleme ve kaldırma

Google Chrome, tarayıcı her başlatıldığında tercihler ve kayıt defterindeki meta veri girişlerini tarar ve yüklü harici uzantılarda gerekli değişiklikleri yapar.

Uzantınızı yeni bir sürüme güncellemek için dosyayı güncelleyin ve ardından tercihler veya kayıt defterindeki sürümü güncelleyin.

Uzantınızı kaldırmak için (örneğin, yazılımınız kaldırıldıysa) tercih dosyanızı (aaaaaaaaabbbbbbbbbbcccccccccc.json) veya meta verileri kayıt defterinden kaldırın.

SSS

Bu bölümde, harici uzantılarla ilgili sık sorulan sorular yanıtlanmaktadır.

"Önceden yüklemeye" izin verme metodolojisi, M33'ten itibaren Google Chrome tarafından desteklenmeye devam edecek mi?

Evet, ancak yalnızca bir Chrome Web Mağazası'ndan update_URL yüklemeyle, yerel bir dosya yolundan değil.

Bir URL'yi harici uzantıya giden yol olarak belirtebilir miyim?

Evet, Mac OS X ve Linux için preferences JSON dosyasını, Windows için registry kullanın. Uzantı, barındırma bölümünde açıklandığı gibi barındırılmalıdır. Tercihler dosyasında, uzantınızın URL'sini içeren bir güncelleme manifestine işaret etmek için "external_update_url" özelliğini kullanın. Windows kayıt defterinde "update_url" özelliğini kullanın.

Tercihler dosyasıyla yüklenirken sık yapılan hatalar nelerdir?

  • .crx içinde listelenen kimliği/sürümü belirtmiyor
  • .json dosyası (aaaaaaaaaabbbbbbbbbbcccccccccc.json) yanlış konumda veya belirtilen kimlik, uzantı kimliğiyle eşleşmiyor.
  • JSON dosyasında söz dizimi hatası (girişleri virgülle ayırma unutuluyor veya bir yere virgül koyarak)
  • JSON dosyası girişi, .crx yolunun yanlış yolunu (veya yol belirtilmiş ancak dosya adı belirtilmemiş) işaret ediyor
  • UNC yolundaki ters eğik çizgiler çıkış karaktersizdir (örneğin, "\\server\share\file" yanlıştır; "\\\\server\\share\\extension" olmalıdır)
  • Ağ paylaşımında izin sorunları

Kayıt defterini yüklerken sık yapılan hatalar nelerdir?

  • Chrome Web Mağazası'nda listelenen kimlik/sürüm ile aynı kimliği/sürümü belirtmeme
  • Anahtar, kayıt defterinde yanlış konumda oluşturuldu
  • Kayıt defteri girişi, Chrome Web Mağazası'ndaki .crx dosyasının yanlış yolunu işaret ediyor
  • Ağ paylaşımında izin sorunları

Yerel ikili programları ve uzantılarımı adım adım nasıl güncelleyebilirim?

Önceden mağaza dışı uzantılar desteklendiğinde, yerel ikili programların ve uzantının kilit adımında güncellenmesi mümkündü. Ancak Chrome Web Mağazası'nda barındırılan uzantılar, geliştiricilerin kontrol etmediği Chrome güncelleme mekanizmasıyla güncellenir. Uzantı geliştiricileri, yerel ikili programa bağımlılığı olan uzantıları (örneğin, NPAPI kullanan eski uzantılar) güncelleme konusunda dikkatli olmalıdır.

Kullanıcı uzantıyı kaldırırsa ne olur?

Kullanıcı, uzantıyı kullanıcı arayüzü üzerinden kaldırırsa uzantı artık her başlatmada yüklenmez veya güncellenmez. Başka bir deyişle, harici uzantı engellenenler listesine alınır.

Engellenenler listesinden nasıl çıkabilirim?

Kullanıcı uzantınızı kaldırırsa bu karara saygı göstermeniz gerekir. Bununla birlikte, siz (geliştirici) uzantınızı kullanıcı arayüzü üzerinden yanlışlıkla kaldırdıysanız engellenenler listesi etiketini kaldırabilirsiniz. Bu etiketi kaldırmak için uzantıyı normal şekilde kullanıcı arayüzünden yükleyip kaldırabilirsiniz.