Chrome 확장 프로그램은 어떻게 되나요?

2023년은 Chrome 확장 프로그램 업계에서 바쁜 한 해였습니다. 보내주신 소중한 의견을 바탕으로 확장 프로그램 플랫폼과 문서를 개선할 수 있었습니다. 또한 확장 프로그램 API가 여러 브라우저에서 더 일관되게 작동하도록 WebExtensions 커뮤니티 그룹의 다른 브라우저 공급업체와도 계속 협력하고 있습니다.

이 게시물에서는 Chrome 확장 프로그램팀이 올해 상반기에 작업한 몇 가지 변경사항과 이번 분기 말에 출시될 예정인 기능을 공유합니다. 지금 시작해 보세요.

새로운 확장 프로그램 API 및 기능

이 섹션에서는 몇 가지 중요한 API 출시를 소개하고, 다른 API 개선사항을 간단히 검토하고, 예정된 API 출시를 공유하고자 합니다.

하이라이트

오프스크린 문서

Offscreen API는 Chrome 109에서 도입되었습니다. 이를 통해 Manifest V3 확장 프로그램은 확장 프로그램 서비스 워커에서 실행할 수 없는 DOM 또는 창과의 상호작용이 필요한 사용 사례를 처리할 수 있습니다. 또한 Chrome 114에서는 두 가지 오프스크린 이유를 추가로 도입했습니다. 문서에서 작업자를 스폰해야 하는 경우의 'WORKERS'window.localStorage에서 chrome.storage API로 데이터를 이전하는 데 도움이 되는 'LOCAL_STORAGE'입니다.

Chrome 115부터 오프스크린 문서를 만들 때 여러 가지 이유를 제공할 수 있습니다. 이렇게 하면 동일한 문서에서 두 가지 관련 작업을 실행할 수 있습니다.

새로운 Side Panel API 🎉

이전에는 확장 프로그램에서 사이드바를 만드는 유일한 방법은 모든 페이지에 콘텐츠 스크립트가 포함된 새 요소를 삽입하는 것이었습니다. Chrome 114에서는 Side Panel API가 출시되었습니다. 이제 훨씬 더 간단한 방법으로 사용자를 위한 호환 사이드바 환경을 개발할 수 있습니다. Side Panel API를 사용하여 우수한 사용자 환경을 설계하는 방법을 자세히 알아보세요.

선택한 단어의 정의를 보여주는 사전 확장 프로그램
측면 패널 사전 확장 프로그램 chrome-extensions-samples 저장소의 코드를 참고하세요.

더 강력한 서비스 워커

이제 모든 확장 프로그램 이벤트가 확장 프로그램 서비스 워커의 유휴 타이머를 다시 시작합니다. Chrome 110에서는 확장 프로그램 서비스 워커의 최대 전체 기간 5분이 삭제되었습니다. 또한 네이티브 애플리케이션확장 프로그램 내 메시지의 메시지는 유휴 타이머를 다시 시작합니다. 확장 프로그램 서비스 워커 수명 주기 도움말에서 자세히 알아보세요.

더 많은 API 출시

  • Action API: Chrome 110부터 setBadgeTextColor()getBadgeTextColor()를 사용하여 배지 텍스트를 맞춤설정할 수 있습니다. 또한 isEnabled()를 사용하면 현재 탭에 작업이 사용 설정되어 있는지 확인할 수 있습니다.
  • Commands API: 매니페스트의 "commands._execute_action" 아래에 선언된 확장 프로그램 바로가기가 MV3로 변환되는 동안 유지되지 않는 버그가 Chrome 111에서 수정되었습니다.
  • Downloads API: Chrome의 기본 다운로드 UI가 하단의 섹션에서 주소 표시줄의 오른쪽으로 이동했습니다. 이 동작을 사용 중지하려면 setShelfEnabled()를 대체하는 downloads.setUiOptions()를 사용하면 됩니다.
  • History API: chrome.history.getVisits()chrome.history.search()는 로컬 기록 데이터베이스에 동기화된 다른 기기의 데이터도 반환합니다. 이로 인해 기록 항목이 더 많이 생성되고 방문 수가 증가할 수 있습니다. 로컬 방문만으로 필터링할 수 있도록 Chrome 115 (이번 달 말에 안정화 버전으로 출시 예정)의 VisitItemisLocal가 추가되었습니다.
  • Identity API: 이제 인증 창이 전체 애플리케이션 창을 차지하는 대신 팝업으로 표시됩니다. JavaScript 리디렉션 프로세스 중에 더 많은 제어 권한을 부여하기 위해 abortOnLoadForNonInteractivetimeoutMsForNonInteractive라는 두 가지 새로운 옵션이 추가되었습니다.
  • Storage API: Chrome 112에서 chrome.session 저장용량 크기가 10MB로 늘어났습니다. 그런 다음 Chrome 114에서 일치하도록 chrome.local 저장용량 크기가 변경되었습니다.

제공 예정...

향후 Chrome 버전에서는 확장 프로그램이 Manifest V3로 더 쉽게 이전할 수 있는 여러 기능이 도입될 예정입니다. 예정된 MV3 이전 관련 변경사항 목록은 알려진 문제 페이지를 참고하세요. 또한 다음과 같은 기능을 추가할 계획입니다.

  • DeclarativeNetRequest API: isUrlFilterCaseSensitive 속성의 기본값이 false로 변경됩니다. WECG 대화목록을 참고하세요.
  • File Handling API를 사용하면 ChromeOS 확장 프로그램이 지정된 MIME 유형 및 파일 확장자로 파일을 열 수 있습니다. 이 기능은 현재 플래그 뒤에 있습니다.
  • Runtime API: 지원 중단된 extension.getViews()를 대체하기 위해 runtime.getContexts()를 출시합니다. 이를 통해 확장 프로그램은 측면 패널이나 오프스크린 문서와 같은 확장 프로그램 페이지가 열려 있는지 확인할 수 있습니다. WECG 제안서를 참고하세요.
  • 서비스 워커: 사용자 메시지를 표시하는 Chrome API(permissions.request(), desktopCapture.chooseDesktopMedia(), identity.launchWebAuthFlow(), management.uninstall())에 강력한 연결 유지가 추가됩니다.
  • 측면 패널 API: 컨텍스트 메뉴 클릭과 같은 사용자 동작에 프로그래매틱 방식으로 확장 프로그램 측면 패널을 여는 sidepanel.open()를 출시합니다.
  • TabCapture API: 확장 프로그램 서비스 워커에서 getMediaStreamId()를 호출하고 오프스크린 문서의 스트림 ID에서 MediaStream을 가져오는 기능이 추가됩니다. 예시는 오디오 녹음 및 화면 캡처를 참고하세요.

Chrome 베타에서 사용 가능해지는 대로 확장 프로그램의 새로운 기능 페이지에서 공지사항을 확인하세요.

문서 업그레이드 및 추가 Manifest V3 안내

또한 개발자의 학습 환경을 개선하기 위해 노력하고 있습니다. 시간을 내어 chromium-group에서 질문하고 developer.chrome.com에서 문서 문제를 신고해 주신 모든 사용자에게 감사드립니다.

하이라이트

  • 새로운 MV3 이전 섹션에서는 Manifest V2 확장 프로그램을 Manifest V3로 변환하는 실용적인 방법을 제공합니다.
  • 확장 프로그램 서비스 작업자 가이드에서는 확장 프로그램 서비스 작업자 주제에 관한 자세한 정보를 제공합니다. 여기에는 등록 및 업데이트 방법, 수명 주기의 모양, 가져오기 작동 방식 등이 포함됩니다.
  • 서비스 워커로 이벤트 처리 튜토리얼에서는 확장 프로그램 서비스 워커의 기본사항을 설명합니다. 확장 프로그램 API 참조 페이지에 빠르게 액세스할 수 있는 검색주소창 확장 프로그램을 빌드합니다.

소식 더보기

제공 예정...

  • 원격 호스팅 코드를 Manifest V3로 이전하는 방법
  • Chrome 확장 프로그램의 자동 테스트를 실행하는 방법
  • 선언적 네트워크 요청 안내가 개선되었습니다.
  • 콘텐츠 스크립트 설명이 개선되었습니다.

💡 알고 계셨나요?

마무리하기 전에 몇 가지 유용한 도구와 통계를 공유하고자 합니다.

  • Chrome에서 WebHID 지원 작업을 시작했습니다. Chrome 115부터 API를 사용해 볼 수 있습니다 (하지만 아직 작업 중임을 유의하세요).
  • 이제 Puppeteer에서 --headless=new를 사용하여 헤드리스 모드에서 테스트를 지원합니다 . Chrome의 헤드리스 모드 업그레이드 블로그 게시물에서 자세히 알아보세요.
  • 확장 프로그램 업데이트 테스트 도구를 사용하면 매니페스트에서 권한이 변경될 때 트리거되는 경고를 확인할 수 있습니다. 이렇게 하면 사용자가 업데이트 프로세스를 경험하는 것처럼 경험할 수 있습니다. 이는 일부 권한은 사용자가 다시 액세스 권한을 부여할 때까지 확장 프로그램을 사용 중지할 수 있으므로 중요합니다.

좋은 인연 맺게 되기를 바랍니다. 🙌

올해 확장 프로그램팀은 Google I/O Connect 이벤트에서 확장 프로그램 개발자와 직접 만나 기쁜 시간을 보냈습니다. YouTube는 포커스 그룹 및 만남 이벤트를 시작하는 등 사용자와 소통할 수 있는 새로운 공간을 만들기 위해 노력하고 있습니다.

그동안 chromium-groups에서 질문을 계속하고, WECG에 참여하는 것을 고려하고, developer.chrome.com GitHub 저장소에서 문서 문제를 신고해 주세요.

확장 프로그램 개발자 커뮤니티의 일원이 되어 주셔서 다시 한번 감사드립니다.