2023, Chrome uzantıları dünyasında şimdiye kadar yoğun bir yıl oldu. Değerli geri bildirimleriniz sayesinde uzantı platformunu ve dokümanlarımızı iyileştirdik. Ayrıca, uzantı API'lerinin tarayıcılar arasında daha tutarlı bir şekilde çalışması için WebExtensions Topluluk Grubu'ndaki diğer tarayıcı tedarikçileriyle birlikte çalışmaya devam ediyoruz.
Bu yayında, Chrome uzantısı ekibinin bu yılın ilk yarısında üzerinde çalıştığı birkaç değişikliği ve bu çeyreğin ilerleyen dönemlerinde kullanıma sunulacak özellikleri sizinle paylaşacağız. Haydi, başlayalım.
Yeni uzantı API'leri ve özellikleri
Bu bölümde, bazı önemli API lansmanlarını vurgulamak, diğer API iyileştirmelerini kısaca gözden geçirmek ve yakında kullanıma sunulacak API sürümlerini paylaşmak istiyorum.
Öne çıkanlar
Ekran dışındaki dokümanlar
Offscreen API, Chrome 109'da kullanıma sunulmuştur. Bu özellik, Manifest V3 uzantılarının DOM veya pencereyle etkileşim gerektiren ve uzantı hizmet işçisinde yapılamayan kullanım alanlarını işlemesine olanak tanır. Ayrıca Chrome 114, ekran dışında iki ek neden daha kullanıma sundu: 'WORKERS'
, dokümanınızın bir işleyici oluşturması gerektiğinde ve 'LOCAL_STORAGE'
, window.localStorage
'den chrome.storage
API'ye veri taşımaya yardımcı olmak için.
Chrome 115'ten itibaren, ekran dışı doküman oluştururken birden fazla neden belirtebilirsiniz. Bu sayede, aynı belgede iki ilgili görevi gerçekleştirebilirsiniz.
Yeni Yan Panel API'si 🎉
Geçmişte, uzantılarda kenar çubuğu oluşturmanın tek yolu her sayfaya içerik komut dosyaları içeren yeni bir öğe eklemekti. Chrome 114'te Yan Panel API kullanıma sunuldu. Artık kullanıcılar için tamamlayıcı bir kenar çubuğu deneyimini çok daha kolay bir şekilde geliştirebilirsiniz. Yan Panel API'nin üstün bir kullanıcı deneyimi tasarlamanıza nasıl olanak tanıdığı hakkında daha fazla bilgi edinin.
Daha güçlü hizmet çalışanları
Artık tüm uzantı etkinlikleri, uzantı hizmet işçisinin boşta kalma zamanlayıcısını yeniden başlatır. Chrome 110'da, uzantı hizmet işçileri için beş dakikalık maksimum kullanım ömrü kaldırıldı. Ayrıca, yerel uygulamalara gönderilen mesajlar ve uzantıdaki mesajlar da boşta kalma zamanlayıcısını yeniden başlatır. Bu konu hakkında daha fazla bilgiyi Uzantı hizmet çalışanı yaşam döngüsü makalesinde bulabilirsiniz.
Daha fazla API lansmanı
- Action API: Chrome 110'dan itibaren rozet metnini
setBadgeTextColor
() vegetBadgeTextColor()
ile özelleştirebilirsiniz. AyrıcaisEnabled()
, işlemin geçerli sekme için etkin olup olmadığını kontrol etmenize olanak tanır. - Commands API: Manifest'te
"commands._execute_action"
altında tanımlanan uzantı kısayollarının MV3'e dönüştürme sırasında kalıcı olmamasıyla ilgili hata Chrome 111'de düzeltildi. - Downloads API: Chrome'daki varsayılan indirilenler kullanıcı arayüzü, alt kısımdaki raftan çoklu sekme çubuğunun sağ tarafına taşındı. Bu davranışı devre dışı bırakmak için
setShelfEnabled()
yerinedownloads.setUiOptions()
kullanabilirsiniz. - Geçmiş API'si:
chrome.history.getVisits()
vechrome.history.search()
, yerel geçmiş veritabanı ile senkronize edilen diğer cihazlardaki verileri de döndürür. Bu durum, daha fazla geçmiş girişi ve daha yüksek ziyaret sayısıyla sonuçlanabilir. Yalnızca yerel ziyaretlere göre filtreleme yapabilmek için Chrome 115'te (bu ayın ilerleyen günlerinde kararlı sürüme eklenmesi bekleniyor)VisitItem
özelliğineisLocal
eklendi. - Identity API: Kimlik doğrulama penceresi artık tüm uygulama penceresini kaplamak yerine pop-up olarak görünür. JavaScript yönlendirme işlemi sırasında daha fazla kontrol sağlamak için
abortOnLoadForNonInteractive
vetimeoutMsForNonInteractive
olmak üzere iki yeni seçenek ekledik. - Storage API: Chrome 112'de
chrome.session
depolama alanı boyutu 10 MB'a çıkarıldı. Ardından,chrome.local
depolama alanı boyutu Chrome 114'te eşleşecek şekilde değiştirildi.
Çok yakında...
Yakında kullanıma sunulacak Chrome sürümlerinde, uzantıların Manifest V3'e geçişini kolaylaştıracak birçok özellik kullanıma sunulacaktır. MV3'e geçişle ilgili yapılacak değişikliklerin listesi için bilinen sorunlar sayfamıza göz atın. Ayrıca aşağıdaki özellikleri de eklemeyi planlıyoruz:
- DeclarativeNetRequest API: isUrlFilterCaseSensitive mülkünün varsayılan değeri
false
olarak değişecek. WECG ileti dizisini inceleyin. - File Handling API, ChromeOS uzantılarının belirtilen MIME türlerine ve dosya uzantılarına sahip dosyaları açmasına olanak tanır. Bu özellik şu anda bir işaretin arkasında.
- Çalışma zamanı API'si: Desteği sonlandırılan
extension.getViews()
'in yerineruntime.getContexts()
'ı kullanıma sunuyoruz. Bu sayede uzantılar, yan panel veya ekran dışı doküman gibi bir uzantı sayfasının açık olup olmadığını belirleyebilir. WECG teklifine bakın. - Hizmet çalışanları: Chrome API'lerine, kullanıcı istemi görüntüleyen güçlü keep-alive'ler ekliyoruz:
permissions.request()
,desktopCapture.chooseDesktopMedia()
,identity.launchWebAuthFlow()
vemanagement.uninstall()
. - Yan Panel API'si: Bağlam menüsü tıklaması gibi bir kullanıcı hareketine yanıt olarak uzantı yan panelini programatik olarak açacak
sidepanel.open()
'i kullanıma sunuyoruz. - TabCapture API: Uzantı hizmet işçisinden
getMediaStreamId()
çağrısı yapma ve ekran dışındaki bir dokümanda akış kimliğinden MediaStream alma özelliğini ekliyoruz. Örnekler için Ses kaydı ve ekran görüntüsü bölümüne bakın.
Bu duyurular Chrome Beta'da kullanıma sunulduğunda Uzantılarda yenilikler sayfasını takip edin.
Doküman güncellemeleri ve Manifest V3 ile ilgili daha fazla rehberlik
Geliştiricilerin öğrenme deneyimini iyileştirmek için de yoğun şekilde çalışıyoruz. Zaman ayırıp chromium-group'da soru soran ve developer.chrome.com'da doküman sorunlarını bildiren herkese çok teşekkür ederiz.
Öne çıkanlar
- Yeni MV3 Taşıma bölümünde, Manifest V2 uzantılarını Manifest V3'e dönüştürmenin pratik yolları sunulmaktadır.
- Uzantı hizmet çalışanları kılavuzunda, uzantı hizmet çalışanlarıyla ilgili konular hakkında ayrıntılı bilgi verilmektedir. Bunlar arasında öğelerin nasıl kaydedilip güncellendiği, yaşam döngüsünün nasıl göründüğü, içe aktarma işlemlerinin nasıl çalıştığı ve daha fazlası yer alır.
- Hizmet çalışanlarıyla etkinlikleri işleme eğitimiyle uzantı hizmet çalışanlarının temellerini öğrenebilirsiniz. Uzantı API referans sayfalarına hızlı erişim sağlayan bir çok amaçlı adres çubuğu uzantısı oluşturur.
Diğer güncellemeler
- Google Analytics 4'ü kullanma, uzantı pop-up'ınızın ve servis çalışanı etkinliklerinizin kullanımını nasıl izleyeceğinizi gösterir.
- Coğrafi konum özelliğini kullanma, Offscreen API kullanılarak uzantının coğrafi konumunun nasıl alınacağını gösterir.
- Ses kaydı ve ekran yakalama,
chrome.tabCapture
venavigator.mediaDevices.getDisplayMedia()
API'lerini kullanarak sekmelerden, pencerelerden veya ekranlardan ses ve video yakalamayı öğretir. - Uzantılarda hata ayıklama kılavuzuna yeni hata ayıklama ipuçları ekledik.
- İzin uyarılarının işleyişini ve daha iyi bir kullanıcı deneyimi sunma yöntemlerini daha kolay anlamanızı sağlamak için izin uyarıları yönergelerini güncelledik. Ayrıca, kullanıcının göreceği uyarıları kontrol etmenin pratik yolları da vardır.
- Ekibimiz ve katkıda bulunanlar, Manifest V3 uzantı örneklerine uzantılarda WASM, Scripting API demosu, Side Panel API yemek kitapları ve DeclarativeNetRequest API örnekleri de ekledi. Diğer uzantı örneklerini GitHub örnekleri depomuzda bulabilirsiniz.
Çok yakında...
- Uzaktan barındırılan kodu Manifest V3'e taşıma.
- Chrome uzantıları için otomatik testler çalıştırma.
- Bildirimsel ağ isteğiyle ilgili kılavuz geliştirildi.
- İçerik komut dosyası açıklayıcısında iyileştirmeler yapıldı.
💡 Biliyor muydunuz?
Sohbeti sonlandırmadan önce faydalı olabilecek birkaç araç ve analiz paylaşmak istedik:
- Chrome, WebHID desteğini geliştirmeye başladı. Chrome 115'ten itibaren API ile denemeler yapabilirsiniz (ancak bu özelliğin hâlâ geliştirilmekte olduğunu unutmayın).
- Puppeteer artık
--headless=new
kullanarak gözetimsiz modda test yapmayı destekliyor . Bu konu hakkında daha fazla bilgiyi Chrome'un gözetimsiz mod yükseltmesi blog yayınında bulabilirsiniz. - Uzantı Güncelleme Testi Aracı ile manifest'te izinler değiştiğinde hangi uyarıların tetiklendiğini kontrol edebilirsiniz. Bu sayede, güncelleme sürecini bir kullanıcı gibi deneyimleyebilirsiniz. Bazı izinler, kullanıcı tekrar erişim izni verene kadar uzantıyı devre dışı bırakabileceğinden bu önemlidir.
Diğer ayrıntıları paylaşabilmek için size bağlantı isteği gönderiyorum. 🙌
Bu yıl uzantı ekibi, Google I/O Connect etkinliklerinde uzantı geliştiricileriyle yüz yüze görüşmekten memnuniyet duydu. Sizinle bağlantı kuracağımız yeni alanlar (ör. odak grupları ve buluşma etkinlikleri) oluşturmak için çalışıyoruz.
Bu süre zarfında lütfen chromium-groups'da soru sormaya devam edin, WECG'ye katılmayı düşünün ve developer.chrome.com GitHub deposunda doküman sorunlarını bildirin.
Uzantı geliştirici topluluğunun bir parçası olduğunuz için tekrar teşekkür ederiz.