2023 şu ana kadar Chrome uzantıları dünyasında yoğun bir yıl oldu. Değerli geri bildirimleriniz, uzantı platformunu ve dokümanlarımızı iyileştirmemize yardımcı oldu. 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çi firmalarıyla ortak çalışmaya devam ediyoruz.
Bu yayında, Chrome uzantı ekibinin bu yılın ilk yarısında üzerinde çalıştığı bazı değişiklikleri ve bu üç aylık dönem içinde kullanıma sunulacak olan özellikleri paylaşacağız. Haydi, başlayalım.
Yeni uzantı API'leri ve özellikleri
Bu bölümde önemli API lansmanlarından birkaçını vurgulamak, diğer API iyileştirmelerini kısaca gözden geçirmek ve yeni API sürümlerini paylaşmak istiyoruz.
Öne çıkanlar
Ekran dışındaki dokümanlar
Outscreen API, Chrome 109'da kullanıma sunulmuştur. Manifest V3 uzantılarının, DOM veya pencere ile etkileşim gerektiren kullanım alanlarını ele almasına olanak tanır. Bu işlem, uzantı hizmeti çalışanında gerçekleştirilemez. Ayrıca Chrome 114, ekran dışında iki yeni neden daha sundu: Dokümanınızın bir çalışan üretmesinin gerektiği durumlar için 'WORKERS'
ve verilerin window.localStorage
ürününden chrome.storage
API'ye taşınmasına yardımcı olmak için 'LOCAL_STORAGE'
.
Chrome 115 sürümünden itibaren, ekran dışı bir doküman oluştururken birden fazla neden belirtebilirsiniz. Bu, aynı doküman üzerinde birbiriyle ilgili iki görev gerçekleştirmenize olanak tanır.
Yeni Side Panel API 🎉
Geçmişte, uzantılarda kenar çubukları oluşturmanın tek yolu, her sayfaya içerik komut dosyaları içeren yeni bir öğe eklemekti. Chrome 114'te Side Panel API kullanıma sunuldu. Artık kullanıcılar için tamamlayıcı kenar çubuğu deneyimini çok daha basit bir şekilde geliştirebilirsiniz. Side Panel API'nin üstün bir kullanıcı deneyimi tasarlamanıza nasıl olanak sağladığı hakkında daha fazla bilgi edinin.
![Seçili kelimenin tanımını gösteren bir sözlük uzantısı](https://developer.chrome.google.cn/static/blog/extension-news-july-2023/image/a-dictionary-extension-s-df8e87f540be2.png?authuser=5&hl=tr)
Daha güçlü Hizmet Çalışanları
Tüm uzantı etkinlikleri artık uzantı hizmeti çalışanının boşta kalma zamanlayıcısını yeniden başlatır. Chrome 110'da uzantı hizmeti çalışanları için beş dakikalık maksimum kullanım ömrü kaldırıldı. Ayrıca, yerel uygulamalara ve uzantı içindeki iletilere gönderilen mesajlar boşta kalma zamanlayıcısını yeniden başlatır. Bu konu hakkında daha fazla bilgi için Uzantı hizmet çalışanı yaşam döngüsü başlıklı makaleyi inceleyin.
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 etkinleştirilip etkinleştirilmediğini kontrol etmenize de olanak tanır. - Commands API:
"commands._execute_action"
bölümünde manifest dosyasında belirtilen uzantı kısayollarının MV3'e dönüştürme işlemi sırasında devam etmediği hata, Chrome 111'de düzeltildi. - Downloads API: Chrome'daki varsayılan indirmeler kullanıcı arayüzü, çok amaçlı adres çubuğunun sağ alt tarafındaki bir raftan taşındı. Bu davranışı devre dışı bırakmak için
setShelfEnabled()
yerine geçendownloads.setUiOptions()
özelliğini kullanabilirsiniz. - History API:
chrome.history.getVisits()
vechrome.history.search()
, yerel geçmiş veritabanıyla senkronize edilen diğer cihazlardan da veri döndürür. Bu sayede daha fazla geçmiş girişi ve daha yüksek ziyaret sayıları elde edilebilir. Yalnızca yerel ziyaretlere göre filtreleme yapabilmek için Chrome 115'teVisitItem
ürününeisLocal
eklendi (bu ayın ilerleyen günlerinde kararlı kanalında kullanıma sunulması bekleniyor). - Identity API: Kimlik doğrulama penceresi, tüm uygulama penceresini doldurmak yerine artık pop-up olarak gösterilir. JavaScript yönlendirmeleri işlemi sırasında daha fazla kontrol sağlamak için iki yeni seçenek ekledik:
abortOnLoadForNonInteractive
vetimeoutMsForNonInteractive
. - Storage API: Chrome 112'de
chrome.session
depolama alanı boyutu 10 MB'a yükseltildi. Daha sonrachrome.local
depolama alanı boyutu, Chrome 114 sürümünde eşleşecek şekilde değiştirildi.
Çok yakında...
Gelecek Chrome sürümlerinde, uzantıların Manifest V3'e taşınmasını kolaylaştıracak birçok özellik sunulacaktır. MV3 taşıma işlemiyle ilgili yakında yapılacak değişikliklerin listesini görmek için bilinen sorunlar sayfamıza göz atın. Ayrıca, aşağıdaki özellikleri de eklemeyi planlıyoruz:
- DeclarativeNetRequest API: isUrlFilterCaseSensitive özelliğinin varsayılan değeri
false
olarak değişecek. WECG ileti dizisine bakın. - File Process API, ChromeOS uzantılarının belirtilen MIME türlerine ve dosya uzantılarına sahip dosyaları açmasına izin verir. Bu özellik şu anda işaretli değil.
- Çalışma zamanı API'si: Kullanımdan kaldırılan
extension.getViews()
yerini değiştirmek içinruntime.getContexts()
'ı kullanıma sunuyoruz. Bu şekilde uzantılar, yan paneldeki veya ekran dışındaki doküman gibi bir uzantı sayfasının açık olup olmadığını belirleyebilir. WECG teklifini inceleyin. - Hizmet çalışanları: Chrome API'lerine kullanıcı istemi gösteren güçlü canlı tutma verileri ekliyoruz:
permissions.request()
,desktopCapture.chooseDesktopMedia()
,identity.launchWebAuthFlow()
vemanagement.uninstall()
. - Side Panel API: Bağlam menüsü tıklaması gibi bir kullanıcı hareketine yanıt olarak uzantı yan panelini programatik olarak açan
sidepanel.open()
özelliğini kullanıma sunuyoruz. - TabCapture API: Uzantı hizmet çalışanından
getMediaStreamId()
çağrısı yapma ve ekran dışındaki bir dokümandaki 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.
Chrome Beta sürümünde kullanıma sunulur sunulmaz bu duyurular için Uzantılardaki yenilikler sayfasını takip edin.
Belgelerin yeni sürüme geçirilmesi ve daha fazla Manifest V3 kılavuzu
Ayrıca, geliştiricinin öğrenme deneyimini iyileştirmek için de yoğun bir şekilde çalışıyoruz. chromium-group hakkında soru sormak ve developer.chrome.com adresinden dokümanla ilgili sorunları bildirmek için zaman ayıran herkese 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ürmeyle ilgili pratik yöntemler sunulmaktadır.
- Uzantı hizmeti çalışanları kılavuzu, uzantı hizmeti çalışanları konuları hakkında ayrıntılı bilgiler sağlar. Bu özellikler arasında verilerin 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 işlediği ve daha fazlası yer alır.
- Etkinlikleri Service Worker'larla işleme başlıklı eğiticide, uzantı hizmeti çalışanlarının temel bilgileri öğretilir. Uzantı API'sı başvuru sayfalarına hızlı bir şekilde erişmenizi sağlayan bir çok amaçlı adres çubuğu uzantısı oluşturur.
Diğer güncellemeler
- Google Analytics 4 kullanımı bölümünde, uzantı pop-up'ı ve hizmet çalışanı etkinliklerinizin kullanımını nasıl izleyeceğiniz gösterilir.
- Coğrafi konum kullanımı, Offscreen API kullanılarak uzantının coğrafi konumunun nasıl alınacağını gösterir.
- Ses kaydı ve ekran görüntüsü,
chrome.tabCapture
venavigator.mediaDevices.getDisplayMedia()
API'lerini kullanarak sekme, pencere 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ş şeklini ve nasıl daha iyi bir kullanıcı deneyimi sağlayabileceğinizi daha kolay anlamanız için izin uyarıları yönergelerini güncelledik. Ayrıca, kullanıcıların göreceği uyarıları kontrol etmenin pratik yolları da vardır.
- Ekibimiz ve katkıda bulunanlar, yeni Manifest V3 uzantı örnekleri de ekledi: Uzantılarda WASM, Scripting API demosu, Side Panel API yol kitapları ve DeclarativeNetRequest API örnekleri. GitHub örnekleri depomuzda diğer uzantı örneklerini keşfedebilirsiniz.
Çok yakında...
- Uzakta barındırılan kod Manifest V3'e nasıl taşınır?
- Chrome uzantıları için otomatik testler nasıl çalıştırılır?
- Bildirim Temelli Net İstek kılavuzu iyileştirildi.
- İçerik komut dosyası açıklayıcısında iyileştirmeler.
💡 Biliyor muydunuz?
Oturumu tamamlamadan önce, birkaç faydalı araç ve bilgi paylaşmak istedik:
- Chrome, WebHID'yi desteklemek için çalışmaya başladı. Chrome 115'ten itibaren API'yi kullanarak denemeler yapabilirsiniz (ancak hâlâ devam eden bir çalışma olduğunu unutmayın).
- Puppeteer, artık
--headless=new
ile gözetimsiz modda test yapılmasını destekliyor . Chrome'un gözetimsiz modu yükseltme adlı blog yayınında bu konu hakkında daha fazla bilgi edinebilirsiniz. - Uzantı Güncelleme Test Aracı'nı kullanarak manifest dosyasındaki izinler değiştiğinde hangi uyarıların tetiklendiğini kontrol edebilirsiniz. Bu şekilde, güncelleme sürecini bir kullanıcının deneyimlediği şekilde deneyimleyebilirsiniz. Bazı izinler, kullanıcı tekrar erişim izni verene kadar uzantıyı devre dışı bırakabileceğinden bu önemlidir.
Bağlantı kuralım. 🙌
Bu yıl uzantı ekibi, Google I/O Connect etkinliklerinde uzantı geliştiricileri ile bizzat tanışmaktan mutluluk duydu. Sizinle bağlantı kurmak için yeni alanlar oluşturmak (ör. odak grupları ve buluşma etkinlikleri) oluşturmak için çalışıyoruz.
Bu süreçte lütfen chromium-groups hakkında soru sormaya devam edebilir, WECG'ye katılabilir ve dokümanla ilgili sorunları developer.chrome.com GitHub deposunda bildirebilirsiniz.
Uzantı geliştirici topluluğunun bir parçası olduğunuz için tekrar teşekkür ederiz!