지난 7월, 확장 프로그램 개발에 관한 최신 소식을 전해 드리기 위해 새로운 블로그 시리즈를 시작했습니다. 개발자 여러분의 소중한 의견과 WebExtensions 커뮤니티 그룹의 다른 브라우저 공급업체와의 지속적인 협력 덕분에 Google은 확장 프로그램 API를 개선하고 브라우저 간에 일관성을 높이기 위해 노력하고 있습니다.
10월호에 오신 것을 환영합니다. 이 게시물에서는 지난 몇 개월 동안 Chrome 확장 프로그램팀에서 이루어진 몇 가지 변경사항과 올해 말에 출시될 몇 가지 새로운 기능을 살펴봅니다. 지금 시작해 보세요.
새로운 확장 프로그램 API 및 기능
이 섹션에서는 몇 가지 중요한 API 출시 소식을 전하고, 다른 API 개선사항을 간단히 검토하고, 예정된 출시 소식을 공유합니다. 현재 모든 출시는 최신 베타 버전에서 사용할 수 있습니다. 자세한 내용은 Chromium 출시 일정을 참고하세요.
하이라이트
해결된 알려진 문제
확장 프로그램팀은 Manifest V3 안정성 문제를 해결하기 위해 적극적으로 노력하고 있습니다. Chrome 116에서는 많은 개선사항이 출시되어 Manifest V2와 V3 간의 기능 격차를 해소하는 데 큰 진전을 이루었습니다. Chrome 120에서는 우선순위가 지정된 모든 플랫폼 격차를 해결하고 알려진 문제 페이지에 설명된 모든 심각한 버그를 수정할 예정입니다. ChromeOS Lacros의 fileHandler 지원 및 이달 말에 출시될 userScripts API를 제외한 모든 기능은 현재 Chrome 120 Canary에서 사용할 수 있습니다. 업데이트된 알려진 문제 페이지에서 자세한 내용을 확인하세요.
서비스 워커 안정성 개선
서비스 워커 관련 안정성 문제가 해결되었습니다. Chrome 116에서는 사용자 메시지를 표시하는 확장 프로그램 API에 강력한 연결 유지를 추가하고 WebSockets 지원을 개선했습니다 (확장 프로그램에서 WebSockets 사용 튜토리얼 참고). Chrome 118부터 서비스 워커는 활성 디버거 API 세션 중에 계속 실행됩니다.
자세한 내용은 업데이트된 Service Worker 가이드를 참고하세요. 119 이후 Chrome 버전에서 사용자에게 여전히 서비스 워커 관련 안정성 문제가 발생하는 경우 Google에 알려주세요.
강화된 보안
이전에는 tabs.update()
, tabs.create
, windows.create()
를 사용하여 일부 chrome://
URL로 이동하면 오류가 발생하거나 Chrome이 비정상 종료되었습니다. 또한 tabs.update()
에서 JavaScript URL을 열 수 없습니다. Chrome 117에서는 지원되는 chrome://
URL의 수를 늘렸으며 이제 JavaScript URL 차단이 모든 확장 프로그램 API 메서드에도 적용됩니다.
Chrome 117에서는 사용자가 설치한 확장 프로그램을 Chrome 웹 스토어에서 더 이상 사용할 수 없게 되면 Chrome 확장 프로그램 페이지에 사전 알림이 표시됩니다. 개발자가 확장 프로그램을 게시 취소하거나, 정책 위반으로 인해 게시 중단되거나, 멀웨어로 확인된 경우 이러한 상황이 발생할 수 있습니다. 자세한 내용은 chrome://extensions 페이지에 안전 확인 도입을 참고하세요.
Chrome 118에서는 확장 프로그램의 세부정보 페이지에서 '파일 URL에 대한 액세스 허용' 옵션이 사용 설정되지 않으면 확장 프로그램이 chrome.tabs
및 chrome.windows
API를 사용하여 file://
URL로 이동할 수 없습니다. WECG 토론을 참고하세요.
더 많은 API 출시
- Runtime API: Chrome 116부터
runtime.getContexts()
를 사용하여 활성 컨텍스트에 관한 정보를 검색할 수 있습니다. 예를 들어 활성 오프스크린 문서가 있는지 확인할 수 있습니다. - 측면 패널 API Chrome 116에서는
sidepanel.open()
를 사용하여 컨텍스트 메뉴 클릭과 같은 사용자 동작에 반응하여 프로그래매틱 방식으로 확장 프로그램 측면 패널을 열 수 있습니다. - TabCapture API Chrome 116에서 확장 프로그램 서비스 워커에서
getMediaStreamId()
를 호출하고 오프스크린 문서의 스트림 ID에서MediaStream
객체를 가져오는 기능을 추가했습니다. 예시는 오디오 녹음 및 화면 캡처를 참고하세요. - DeclarativeNetRequest API:
isUrlFilterCaseSensitive
속성의 기본값이 Chrome 118에서false
로 변경되었습니다.
제공 예정...
Chrome 120 출시와 함께 알려진 문제 페이지의 나머지 항목을 모두 해결할 계획입니다. 또한 다음과 같은 기능을 추가할 계획입니다.
- UserScripts API를 사용하면 사용자 스크립트 관리자가 사용자 스크립트 모음을 웹페이지에 삽입하는 방법과 시기를 조정할 수 있습니다. 자세한 내용은 WECG 제안서를 참고하세요.
- ReadingList API를 사용하면 개발자가 측면 패널의 Reading List 패널에 있는 메타데이터를 생성, 읽기, 업데이트, 삭제할 수 있습니다. Chrome 확장 프로그램의 새로운 기능에서 공지사항을 확인하세요.
- 웹 확장 프로그램 커뮤니티 그룹의 의견에 따라 사용 설정된 정적 규칙 집합의 한도를 10개에서 50개로 대폭 늘립니다. 또한 허용되는 총 정적 규칙 수가 50개에서 100개로 늘어납니다. 이 기능은 현재 Canary에서 사용할 수 있습니다.
- File Handling API: ChromeOS 120부터 ChromeOS 확장 프로그램에서 사용할 수 있으며, 이를 통해 확장 프로그램은 웹 플랫폼 파일 처리와 유사한 방식으로 지정된 MIME 유형 및 파일 확장자가 있는 파일을 열 수 있습니다.
- 확장 프로그램은
userVisibleOnly
를false
로 설정하여 사용자에게 표시되는 알림을 표시하지 않고도self.registration.pushManager.subscribe()
를 통해 웹 푸시 API를 사용할 수 있습니다. 이렇게 하면 비동기 클라이언트-서버 통신을 위해 서비스 워커 (MV3)에서 WebSockets를 대체하는 더 원활한 방법으로 푸시 알림을 사용할 수 있습니다. 자세한 내용은 Chromium 버그 및 WECG 토론을 참고하세요.
Chrome 베타에서 이 기능을 사용할 수 있게 되면 확장 프로그램의 새로운 기능 페이지에서 공지사항을 확인하세요.
문서 업그레이드
문서도 개선하고 추가하고 있습니다. chromium-group에서 계속 질문하고 문서 문제를 신고하세요.
하이라이트
- 샘플 방문 페이지가 개선되었습니다. 이제 API, 권한, 유형별로 필터링하여 특정 샘플을 더 쉽게 찾을 수 있습니다. 이 개선사항은 Google의 Summer of Code 인턴인 Xuezhou Dai와 공동으로 이루어졌습니다. 이 블로그 게시물에서 그의 경험을 읽어보세요.
- Chrome 웹 스토어에서 Google 애널리틱스 계정 사용하기에서는 Chrome 웹 스토어 등록정보의 Google 애널리틱스 4를 확인하여 개발자 대시보드에서 제공하는 데이터를 보완하는 방법을 설명합니다. 이 가이드에서는 Google 애널리틱스를 선택하고, 광고 실적을 모니터링하고, 전환을 추적하고, 다른 계정에 Google 애널리틱스 데이터에 대한 액세스 권한을 부여하는 단계를 설명합니다.
- Chrome 확장 프로그램에서 쿠키 및 웹 저장소 API가 작동하는 방식에 관한 새로운 가이드를 게시했습니다. 확장 프로그램 개발자로서 개인 정보 보호 샌드박스에 관해 알아야 할 모든 내용이 포함되어 있습니다.
- 확장 프로그램 프로젝트에 테스트를 통합하는 방법에 관한 새로운 도움말을 출시했습니다. Chrome 확장 프로그램 단위 테스트 및 확장 프로그램의 엔드 투 엔드 테스트에서는 여러 인기 프레임워크에 관한 일반적인 안내와 권장사항을 다룹니다. 실용적인 튜토리얼은 Puppeteer로 Chrome 확장 프로그램 테스트하기를 참고하세요.
소식 더보기
- 선언적 규칙 집합을 구현하는 방법을 더 명확하게 설명할 수 있도록 Declarative Net Request API 안내를 다시 작성했습니다.
- 원격 호스팅 코드를 Manifest V3로 이전하는 방법에 관한 안내가 추가되었습니다. 또한 출시 중에 문제가 발생할 위험을 최소화하기 위해 단계적으로 Manifest V3 확장 프로그램을 게시하는 전략을 제공합니다.
- 확장 프로그램의 서비스 워커에서 WebSocket에 연결하는 방법을 알아봅니다.
- 버그를 신고하고, 기존 문제를 추적하고, 새로운 기능을 요청하는 방법에 관한 자세한 안내를 포함하도록 도움말 가이드를 확장했습니다.
제공 예정...
- User Scripts API 참조 및 튜토리얼
- Firebase 튜토리얼 및 샘플
- ReadingList API 참조
Chrome 웹 스토어 디자인 개선 🌈
이달 초 Google I/O에서 예고한 대로 새롭게 단장된 Chrome 웹 스토어의 사전 체험판을 발표했습니다. https://chromewebstore.google.com/에서 직접 확인해 보세요. 주목할 만한 변경사항은 다음과 같습니다.
- 카테고리 목록을 11개에서 3개 카테고리 그룹으로 17개로 늘렸습니다.
- 검색의 자동 완성 기능이 개선되었습니다.
- 이제 스크린샷이 훨씬 더 높은 품질로 표시됩니다. 아직 업로드하지 않았다면 1280x800 스크린샷을 업로드할 수 있습니다.
- 이제 지원 탭의 질문에 대한 답글에 새 줄이 표시됩니다.
- 이제 사용자 리뷰 및 지원 질문에 답장할 때 응답에 내 이름 옆에 '개발자' 배지가 표시됩니다.
- 스토어 상품 URL 끝에 '/reviews'를 추가하여 사용자에게 리뷰 페이지로 연결되는 직접 링크를 제공할 수 있습니다(예:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
).
지금까지 chromium-google 그룹에 의견을 보내주셔서 감사합니다. 언제든지 토론에 참여하거나 의견 보내기 메뉴 항목을 사용하여 CWS팀에 직접 의견을 보내주세요.
또한 자체 추천 양식을 제출하여 '에디터의 선택' 컬렉션에 소개될 수 있습니다. 개발자 대시보드도 곧 개선될 예정이니 기대해 주세요.
💡 알고 계셨나요?
- Chrome 확장 프로그램 디버깅에 관한 새로운 동영상이 있습니다. 이미 익숙한 주제를 다루지만 확장 프로그램에서 DevTools를 사용하는 몇 가지 멋진 트릭도 공유합니다.
- 이제 각 확장 프로그램에 개인정보처리방침을 제공해야 합니다. 이전에는 개발자 계정당 개인정보처리방침을 하나만 추가할 수 있었지만, 하나의 개발자 계정에 확장 프로그램이 여러 개 있는 경우 불편했습니다. 이 새로운 인터페이스는 개발자 대시보드의 항목 개인 정보 보호 탭에서 사용할 수 있습니다. 즉, 계정 수준 개인정보처리방침은 더 이상 지원되지 않습니다.
연락드립니다 🙌
Google은 1:1 상담, 새로운 프로그램 출시, 정상회담 참석을 통해 확장 프로그램 개발자 커뮤니티에 계속해서 소통하고 있습니다. 주요 내용은 다음과 같습니다.
- 확장 프로그램 Google Developer Experts 프로그램이 8월에 출시되었습니다. 전 세계에서 10여 명의 새로운 Chrome 확장 프로그램 중심 GDE가 Google에 유용한 의견을 제공하고 있습니다. 프로그램에 있어 매우 흥미로운 시기입니다.
- 웹 확장 프로그램 커뮤니티 그룹의 일원으로 TPAC (W3C 연례 회의)에 참석하여 Firefox 및 Safari의 담당자와 여러 커뮤니티 회원을 만났습니다. Google은 보다 일관된 확장 프로그램 API로 전환하고, 사양을 수정하고, 웹 플랫폼 테스트를 기반으로 새로운 테스트 모음을 만드는 등 여러 주제에서 상당한 진전을 이루었습니다. WECG 저장소에서 전체 회의록을 확인하세요.
- 지난주 확장 프로그램팀은 암스테르담에서 열린 광고 필터링 개발자 서밋에 참여했습니다. 정상화 회의 주간 전에 주최한 커피 채팅과 금요일의 오픈 어워즈에서 몇몇 사용자를 만났습니다.
이러한 이벤트에 참석하지 못하셨더라도 chromium-extensions Google 그룹에서 질문하고, WECG에서 브라우저 파트너 토론을 따라가며, 문서 관련 문제를 신고하는 등 계속 참여하실 수 있습니다.
확장 프로그램 개발자 커뮤니티의 일원이 되어 주셔서 다시 한번 감사드립니다.