2023년은 지금까지 Chrome 확장 프로그램 세계로 바쁜 한 해였습니다. 여러분의 소중한 의견은 확장 프로그램 플랫폼과 문서를 개선하는 데 도움이 되었습니다. 또한 Google은 확장 프로그램 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부터 오프스크린 문서를 만들 때 여러 이유를 제공할 수 있습니다. 이렇게 하면 동일한 문서에서 두 가지 관련 작업을 수행할 수 있습니다.
새로운 측면 패널 API 🎉
이전에는 확장 프로그램에서 사이드바를 만드는 유일한 방법은 모든 페이지에 콘텐츠 스크립트가 포함된 새 요소를 삽입하는 것이었습니다. Chrome 114에서는 Side Panel API가 출시되었습니다. 이제 사용자를 위한 컴패니언 사이드바 환경을 훨씬 더 쉽게 개발할 수 있습니다. Side Panel API를 통해 우수한 사용자 환경을 설계하는 방법을 자세히 알아보세요.
더욱 강력한 서비스 워커
이제 모든 확장 프로그램 이벤트가 확장 프로그램 서비스 워커의 유휴 타이머를 다시 시작합니다. 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()
도 로컬 기록 데이터베이스에 동기화된 다른 기기의 데이터를 반환합니다. 이로 인해 기록 항목이 많아지고 방문수가 증가할 수 있습니다.isLocal
이(가) Chrome 115의VisitItem
에 추가되어(이번 달 말에 안정화 버전으로 출시될 예정) 오프라인 방문으로만 필터링할 수 있습니다. - Identity API: 인증 창이 전체 애플리케이션 창을 차지하는 대신 팝업으로 표시됩니다. JavaScript 리디렉션 과정에서 더 많은 제어 기능을 제공하기 위해
abortOnLoadForNonInteractive
및timeoutMsForNonInteractive
의 두 가지 새로운 옵션이 추가되었습니다. - Storage API: Chrome 112에서
chrome.session
스토리지 크기가 10MB로 늘어났습니다. 그런 다음chrome.local
스토리지 크기가 Chrome 114와 일치하도록 변경되었습니다.
제공 예정
출시 예정인 Chrome 버전에는 확장 프로그램을 Manifest V3로 더 쉽게 이전할 수 있는 다양한 기능이 도입됩니다. 예정된 MV3 이전 관련 변경사항 목록은 알려진 문제 페이지를 참고하세요. 또한 다음 기능도 추가할 계획입니다.
- DeclarativeNetRequest API: isUrlFilterCaseSensitive 속성의 기본값이
false
로 변경됩니다. WECG 스레드를 참고하세요. - File Handling API를 사용하면 ChromeOS 확장 프로그램에서 지정된 MIME 유형과 파일 확장자를 사용하여 파일을 열 수 있습니다. 이 기능은 현재 플래그 뒤에 있습니다.
- Runtime API: 지원 중단된
extension.getViews()
를 대체하기 위해runtime.getContexts()
가 출시됩니다. 이렇게 하면 확장 프로그램에서 측면 패널 또는 오프스크린 문서와 같은 확장 프로그램 페이지가 열려 있는지 확인할 수 있습니다. WECG 제안서를 참고하세요. - 서비스 워커: 사용자 프롬프트
permissions.request()
,desktopCapture.chooseDesktopMedia()
,identity.launchWebAuthFlow()
,management.uninstall()
를 표시하는 강력한 연결 유지 기능을 Chrome API에 추가하고 있습니다. - Side Panel API: 컨텍스트 메뉴 클릭과 같은 사용자 동작에 따라 프로그래매틱 방식으로 확장 프로그램 측면 패널을 여는
sidepanel.open()
가 출시됩니다. - TabCapture API: 확장 프로그램 서비스 워커에서
getMediaStreamId()
를 호출하고 화면 밖 문서의 스트림 ID에서 MediaStream을 가져오는 기능이 추가됩니다. 예를 보려면 오디오 녹음 및 화면 캡처를 참고하세요.
Chrome 베타에 출시되는 대로 확장 프로그램의 새로운 기능 페이지를 기대해 주세요.
문서 업그레이드 및 추가 Manifest V3 안내
또한 개발자의 학습 환경을 개선하기 위해 열심히 노력하고 있습니다. 시간을 내어 chromium-group에 질문하고 developer.chrome.com에서 문서 문제를 신고해 주셔서 감사합니다.
하이라이트
- 새로운 MV3 이전 섹션에서는 Manifest V2 확장 프로그램을 Manifest V3로 전환하는 실용적인 방법을 제공합니다.
- 확장 프로그램 서비스 워커 가이드에서는 확장 프로그램 서비스 워커 주제에 대한 자세한 정보를 제공합니다. 여기에는 등록 및 업데이트 방법, 수명 주기 형태, 가져오기 작동 방식 등이 포함됩니다.
- 서비스 워커로 이벤트 처리 가이드에서는 확장 프로그램 서비스 워커의 기본 사항을 설명합니다. 확장 프로그램 API 참조 페이지에 빠르게 액세스할 수 있는 검색주소창 확장 프로그램을 빌드합니다.
소식 더보기
- Google 애널리틱스 4 사용에서는 확장 프로그램 팝업 및 서비스 워커 이벤트의 사용을 추적하는 방법을 보여줍니다.
- 위치정보 사용은 Offscreen API를 사용하여 확장 프로그램의 지리적 위치를 얻는 방법을 보여줍니다.
- 오디오 녹음 및 화면 캡처에서는
chrome.tabCapture
및navigator.mediaDevices.getDisplayMedia()
API를 사용하여 탭, 창, 화면에서 오디오 및 동영상을 캡처하는 방법을 배웁니다. - 디버깅 확장 프로그램 가이드에 새로운 디버깅 도움말을 추가했습니다.
- 권한 경고의 작동 방식과 더 나은 사용자 환경을 제공하는 방법을 더 쉽게 이해할 수 있도록 권한 경고 가이드라인을 업데이트했습니다. 또한 사용자에게 표시되는 경고를 확인하는 실질적인 방법이 있습니다.
- Google팀과 참여자들이 새로운 Manifest V3 확장 프로그램 샘플인 확장 프로그램의 WASM, Scripting API 데모, Side Panel API 설명서, DeclarativeNetRequest API 샘플을 추가했습니다. GitHub 샘플 저장소에서 다른 확장 프로그램 샘플을 살펴볼 수 있습니다.
제공 예정
- 원격 호스팅 코드를 Manifest V3로 이전하는 방법
- Chrome 확장 프로그램의 자동 테스트를 실행하는 방법
- 선언적 순 요청 지침이 개선되었습니다.
- 콘텐츠 스크립트 설명 기능이 개선되었습니다.
💡 알고 계셨나요?
마무리하기 전에 몇 가지 유용한 도구와 통계를 공유하고자 합니다.
- Chrome은 WebHID 지원을 시작했습니다. Chrome 115부터 API를 사용해 볼 수 있습니다 (단, 아직 작업이 진행 중이라는 점에 유의하세요).
- Puppeteer는 이제
--headless=new
를 사용하여 헤드리스 모드에서 테스트를 지원합니다 . 자세한 내용은 Chrome의 헤드리스 모드 업그레이드 블로그 게시물을 참고하세요. - 확장 프로그램 업데이트 테스트 도구를 사용하면 매니페스트에서 권한이 변경될 때 트리거되는 경고를 확인할 수 있습니다. 이렇게 하면 사용자와 동일하게 업데이트 프로세스를 경험할 수 있습니다. 이 기능이 중요한 이유는 일부 권한에서는 사용자가 다시 액세스 권한을 부여할 때까지 확장 프로그램을 사용 중지할 수 있기 때문입니다.
연결합시다! 🙌
올해 확장 프로그램팀은 Google I/O Connect 이벤트 중에 확장 프로그램 개발자를 직접 만날 수 있었습니다. YouTube는 표적 집단을 개설하고 모임 이벤트를 시작하는 등 시청자와 소통할 수 있는 새로운 공간을 만들기 위해 노력하고 있습니다.
그동안 계속해서 chromium-groups에 질문하고, WECG에 참여하며, 문서 관련 문제가 있으면 developer.chrome.com GitHub 저장소에서 신고해 주세요.
확장 프로그램 개발자 커뮤니티의 일원이 되어 주셔서 다시 한번 감사드립니다.