W lipcu ubiegłego roku uruchomiliśmy nową serię wpisów na blogu, aby na bieżąco informować Cię o postępach w rozwoju rozszerzeń. Dzięki Waszym cennym opiniom i ciągłej współpracy z innymi dostawcami przeglądarek w ramach grupy roboczej WebExtensions Community Group stale ulepszamy interfejsy API rozszerzeń i pracujemy nad zwiększeniem spójności między przeglądarkami.
Witamy w październikowym wydaniu newslettera W tym poście przyjrzymy się niektórym zmianom wprowadzonym przez zespół ds. rozszerzeń Chrome w ostatnich miesiącach, a także nowym funkcjom, które pojawią się w tym roku. Zaczynajmy!
Nowe interfejsy API i funkcje rozszerzeń
W tej sekcji przedstawiamy ważne nowe interfejsy API, omawiamy inne ulepszenia interfejsów API i informujemy o planowanych wersjach. Wszystkie uruchomienia są obecnie dostępne w najnowszej wersji beta. Szczegółowe informacje znajdziesz w harmonogramie publikacji Chromium.
Najciekawsze
Znane problemy, które zostały rozwiązane
Zespół ds. rozszerzeń aktywnie pracuje nad rozwiązaniem problemów ze stabilnością Manifestu V3. W Chrome 116 wprowadzono wiele ulepszeń, które pomogły nam znacznie zmniejszyć różnice między platformami Manifest V2 i V3. W Chrome 120 zakończymy rozwiązywanie wszystkich priorytetowych problemów z platformą i wyeliminujemy wszystkie krytyczne błędy, które są opisane na stronie ze znanymi problemami. Wszystkie funkcje są obecnie dostępne w Chrome 120 Canary, z wyjątkiem obsługi interfejsu fileHandler w przypadku Lacros w ChromeOS oraz interfejsu userScripts API, które zostaną udostępnione w tym miesiącu. Więcej informacji znajdziesz na stronie ze znanymi problemami.
Ulepszona stabilność Service Worker
Rozwiązano problemy ze stabilnością powiązane z usługami w tle. W Chrome 116 dodaliśmy do interfejsów API rozszerzeń silne mechanizmy utrzymywania połączenia, które wyświetlają użytkownikowi prompt, oraz ulepszoną obsługę WebSockets (patrz samouczek Używanie WebSockets w rozszerzeniach). Począwszy od wersji 118 Chrome skrypt service worker będzie aktywny podczas aktywnej sesji interfejsu Debugowanie API.
Więcej informacji znajdziesz w zaktualizowanym przewodniku dotyczącym Service Workera. Jeśli po wersji 119 Twoi użytkownicy nadal mają problemy ze stabilnością związane z usługami wtyczki, daj nam znać.
Zwiększone bezpieczeństwo
Wcześniej przejście do niektórych adresów URL chrome://
za pomocą tabs.update()
, tabs.create
i windows.create()
powodowało błąd lub powodowało awarię Chrome. Ponadto tabs.update()
nie może otworzyć adresu URL JavaScriptu. W Chrome 117 zwiększyliśmy liczbę obsługiwanych adresów URL chrome://
, a blokowanie adresów URL w JavaScript dotyczy teraz wszystkich metod interfejsu API rozszerzeń.
W Chrome 117 użytkownicy będą otrzymywać na stronie rozszerzeń Chrome proaktywne powiadomienia, jeśli zainstalowane przez nich rozszerzenie nie jest już dostępne w Chrome Web Store. Może się tak zdarzyć, jeśli deweloper wycofa rozszerzenie, zostanie ono usunięte z powodu naruszenia zasad lub zostanie zidentyfikowane jako złośliwe oprogramowanie. Więcej informacji znajdziesz w artykule Wprowadzanie kontroli zabezpieczeń na stronie chrome://extensions.
W Chrome 118 rozszerzenia nie będą mogły przechodzić do adresów URL file://
za pomocą interfejsów API chrome.tabs
i chrome.windows
, chyba że na stronie z informacjami o rozszerzeniu włączysz opcję „Zezwalaj na dostęp do adresów URL plików”. Zobacz dyskusję na temat WECG.
Więcej informacji o wprowadzaniu interfejsów API
- Interfejs Runtime API: od wersji Chrome 116 możesz używać interfejsu
runtime.getContexts()
do pobierania informacji o aktywnych kontekstach. Możesz na przykład sprawdzić, czy jest aktywny dokument poza ekranem. - Interfejs API panelu bocznego W Chrome 116 możesz użyć
sidepanel.open()
, aby otworzyć panel boczny rozszerzenia w odpowiedzi na działanie użytkownika, takie jak kliknięcie menu kontekstowego. - Interfejs TabCapture API Dodano możliwość wywołania
getMediaStreamId()
z poziomu skryptu service worker rozszerzenia i uzyskania obiektuMediaStream
z identyfikatora strumienia w pozaekranowym dokumencie w Chrome 116. Przykłady znajdziesz w artykule Nagrywanie dźwięku i zrzuty ekranu. - Interfejs DeclarativeNetRequest API: w wersji Chrome 118 wartość domyślna właściwości
isUrlFilterCaseSensitive
została zmieniona nafalse
.
Już wkrótce...
Planujemy rozwiązać wszystkie pozostałe problemy na stronie znanych problemów w ramach wydania Chrome 120. Dodatkowo planujemy wprowadzić te funkcje:
- Interfejs UserScripts API pozwoli administratorom skryptów użytkownika koordynować, jak i kiedy wstrzykiwać kolekcję skryptów użytkownika na stronach internetowych. Szczegółowe informacje znajdziesz w propozycji WECG.
- Interfejs ReadingList API pozwoli deweloperom tworzyć, odczytywać, aktualizować i usuwać metadane znajdujące się w panelu Do czytania w panelu bocznym. Aby dowiedzieć się więcej, obejrzyj film Nowości w rozszerzeniach Chrome.
- W odpowiedzi na opinie z grupy społecznościowej Web Extensions znacznie zwiększamy limit włączonych statycznych zestawów reguł z 10 do 50. Dodatkowo zwiększamy łączną liczbę dozwolonych statycznych zestawów reguł z 50 do 100. Ta funkcja jest obecnie dostępna w wersji Canary.
- Interfejs API do obsługi plików: będzie dostępny dla rozszerzeń ChromeOS od wersji 120. Dzięki niemu rozszerzenia będą mogły otwierać pliki o określonych typach MIME i rozszerzeniach w sposób podobny do obsługi plików na platformie internetowej.
- Rozszerzenia będą mogły korzystać z interfejsu Push API w internecie przez
self.registration.pushManager.subscribe()
bez wyświetlania użytkownikowi powiadomienia, jeśli ustawienieuserVisibleOnly
będzie równefalse
. Dzięki temu powiadomienia push staną się bardziej płynną alternatywą dla WebSockets w usługach skryptów (MV3) w przypadku komunikacji asynchronicznej między klientem a serwerem. Więcej informacji znajdziesz w błędzie Chromium i dyskusji WECG.
Aby dowiedzieć się, kiedy te funkcje będą dostępne w Chrome Beta, sprawdzaj stronę Co nowego w rozszerzeniach.
Aktualizacje dokumentacji
Poprawiliśmy też naszą dokumentację i dodaliśmy do niej nowe informacje. Nadal możesz zadawać pytania na chromium-group i zgłaszać problemy z dokumentacją.
Najciekawsze
- Ulepszyliśmy stronę docelową z próbkami. Możesz teraz filtrować według interfejsu API, uprawnień i typu, co ułatwia znajdowanie konkretnych próbek. To ulepszenie powstało we współpracy z naszym stażystą z programu Summer of Code, Xuezhou Dai. Więcej informacji o jego doświadczeniach znajdziesz w tym poście na blogu.
- W artykule Korzystanie z konta Google Analytics w Chrome Web Store znajdziesz informacje o tym, jak wyświetlać dane Google Analytics 4 dotyczące Twojej strony w Chrome Web Store, które uzupełniają dane z panelu dewelopera. W tym przewodniku znajdziesz instrukcje włączania Google Analytics, monitorowania skuteczności reklam, śledzenia konwersji i udostępniania innym kontach dostępu do danych Google Analytics.
- Opublikowaliśmy nowy przewodnik na temat działania interfejsów API plików cookie i przechowywania danych w sieci w rozszerzeniach Chrome. Znajdziesz w nim wszystkie informacje, których jako deweloper rozszerzeń potrzebujesz na temat Piaskownicy prywatności.
- Opublikowaliśmy nowe artykuły na temat integrowania testów w projektach rozszerzeń: testowanie jednostkowe rozszerzeń do Chrome i testowanie kompleksowe rozszerzeń zawierają ogólne wskazówki i najlepsze rozwiązania dotyczące wielu popularnych frameworków. Praktyczny samouczek znajdziesz w artykule Testowanie rozszerzeń do Chrome za pomocą Puppeteer.
Więcej nowych informacji
- Zmieniliśmy wytyczne dotyczące deklaratywnego interfejsu API Net Request, aby lepiej wyjaśniały, jak implementować deklaratywnie reguły.
- Dodaliśmy więcej wskazówek dotyczących migracji kodu hostowanego zdalnie na platformę Manifest V3. Aby zminimalizować ryzyko wystąpienia problemów podczas wydania, oferujemy strategie publikowania rozszerzenia Manifest V3 etapami.
- Dowiedz się, jak nawiązać połączenie z WebSocket w workerze usługi rozszerzenia.
- Rozwinęliśmy nasz przewodnik po pomocy, aby zawierał bardziej szczegółowe instrukcje dotyczące zgłaszania błędów, śledzenia istniejących problemów, zgłaszania próśb o dodanie nowych funkcji itp.
Już wkrótce...
- Dokumentacja i samouczek interfejsu API Skrypty użytkownika.
- Przykłady i samouczek Firebase.
- Dokumentacja interfejsu ReadingList API
Nowy wygląd Chrome Web Store 🌈
Wcześniej w tym miesiącu, zgodnie z zapowiadaną na konferencji Google I/O wstępną wersją sklepu Chrome Web Store, Sprawdź to na własnej skórze: https://chromewebstore.google.com/. Oto kilka istotnych zmian:
- Lista kategorii została rozszerzona z 11 do 17 kategorii w 3 grupach.
- Ulepszone autouzupełnianie w wyszukiwarce.
- Zrzuty ekranu są teraz wyświetlane w znacznie lepszej jakości. Możesz przesłać zrzuty ekranu w rozdzielczości 1280 x 800.
- Odpowiedzi na pytania na karcie Pomoc są teraz wyświetlane z wierszami.
- Odpowiedzi na opinie użytkowników i pytania do zespołu pomocy będą teraz zawierać plakietkę „Deweloper” obok Twojego imienia i nazwiska.
- Możesz udostępnić użytkownikom bezpośredni link do strony z opiniami, dodając „/reviews” na końcu adresu URL produktu w Sklepie. Przykład:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
Dziękujemy wszystkim za dotychczasowe opinie w grupie Chromium-Google. Dołącz do dyskusji lub prześlij opinię bezpośrednio do zespołu CWS, korzystając z elementu menu Prześlij opinię:
Dodatkowo możesz przesłać formularz samonominacji, aby Twoja aplikacja znalazła się w kolekcji Wybrane przez redaktorów. Wkrótce wprowadzimy też ulepszenia w panelu dewelopera.
💡 Czy wiesz, że…
- Mamy nowy film na temat debugowania rozszerzeń Chrome. Znajdziesz w nim wiele informacji, które być może już znasz, ale znajdziesz też kilka przydatnych sztuczek dotyczących korzystania z Narzędzi deweloperskich w rozszerzeniach.
- Musisz teraz podać politykę prywatności dla każdego rozszerzenia. Wcześniej można było dodać tylko jedną politykę prywatności na konto dewelopera, ale było to niewygodne, jeśli na jednym koncie dewelopera było kilka rozszerzeń. Ten nowy interfejs jest dostępny na karcie Prywatność w panelu dewelopera. Oznacza to, że polityki prywatności na poziomie konta nie są już obsługiwane.
Kontaktuję się z Tobą,
Nadal kontaktujemy się z twórcami rozszerzeń, organizując spotkania indywidualne, wprowadzając nowe programy i biorąc udział w konferencjach. Oto kilka najważniejszych kwestii:
- W sierpniu uruchomiliśmy program Google Developer Experts dla ekspertów ds. rozszerzeń. Mamy ponad tuzinę nowych GDE dotyczących rozszerzeń Chrome z całego świata, które dostarczają nam cennych informacji. To bardzo ekscytujący czas dla programu.
- W ramach grupy społeczności rozszerzeń internetowych wzięliśmy udział w konferencji TPAC (dorocznej konferencji W3C) i spotkaliśmy się z przedstawicielami przeglądarek Firefox i Safari oraz kilkoma członkami społeczności. Zrobiliśmy duże postępy w kilku obszarach, m.in. w kierunku bardziej spójnych interfejsów API rozszerzeń, prac nad specyfikacją i tworzenia nowego zestawu testów na podstawie testów platformy internetowej. Zapoznaj się z pełnymi protokołami w repozytorium WECG.
- W zeszłym tygodniu zespół ds. rozszerzeń wziął udział w konferencji Ad-Filtering Dev Summit w Amsterdamie. Spotkał się z kilkoma z Was podczas spotkania przy kawie, które odbyło się przed tygodniem szczytu i otwartych drzwi w piątek.
Nawet jeśli nie udało Ci się wziąć udziału w żadnym z tych wydarzeń, możesz nadal brać udział w dyskusjach, zadawać pytania w grupie Google chromium-extensions, śledzić rozmowy partnerów przeglądarek w forum WECG i zgłaszać problemy z dokumentacją.
Jeszcze raz dziękujemy za udział w społeczności deweloperów rozszerzeń.