이 가이드에서는 표준 업데이트 프로세스, 수동 재정의, 개발자 API, 엔터프라이즈 정책의 상당한 영향을 다루는 전체 확장 프로그램 업데이트 흐름을 자세히 설명합니다.
표준 업데이트 주기
Chrome은 설치된 확장 프로그램을 최신 버전으로 자동 업데이트하여 사용자가 새로운 기능과 보안 수정사항을 이용할 수 있도록 설계되었습니다. 기본적으로 Chrome은 시작 시와 몇 시간마다 확장 프로그램 업데이트를 확인합니다.
업데이트 프로세스의 중요한 측면은 확장 프로그램이 유휴 상태로 간주될 때만 업데이트가 설치된다는 것입니다. 확장 프로그램이 유휴 상태가 되려면 구성요소가 활성 상태로 사용되고 있지 않아야 합니다. Manifest V3의 맥락에서 이는 주로 확장 프로그램의 서비스 워커가 실행되지 않음을 의미합니다. 서비스 워커는 이벤트 기반으로 설계되었으며 일정 기간 동안 활동이 없으면 종료됩니다. 또한 측면 패널, 팝업, 옵션 페이지와 같이 열려 있는 확장 프로그램 페이지가 있으면 확장 프로그램이 유휴 상태로 간주되지 않습니다. 활성 콘텐츠 스크립트는 확장 프로그램이 유휴 상태로 간주되는지 여부에 영향을 미치지 않습니다.
이 유휴 상태 요구사항으로 인해 자주 활성 상태인 확장 프로그램의 업데이트가 지연될 수 있습니다. 확장 프로그램의 서비스 워커가 이벤트에 의해 지속적으로 트리거되면 유휴 상태에 도달하지 못할 수 있으며 브라우저가 다시 시작될 때까지 업데이트가 지연됩니다.
확장 프로그램 업데이트 배포 모니터링
최신 버전의 확장 프로그램을 사용하는 사용자 수를 확인하려면 Chrome 웹 스토어 분석 대시보드를 사용하세요. Chrome 웹 스토어 개발자 대시보드로 이동하여 게시된 확장 프로그램 중 하나를 선택합니다. 측면 탐색 메뉴에서 분석 -> 사용자로 이동하고 항목별 일일 사용자 차트까지 아래로 스크롤합니다. 여기에서 이미 최신 버전을 사용 중인 사용자 수를 확인할 수 있습니다.
수동으로 확장 프로그램 업데이트
사용자가 최신 업데이트를 즉시 수신하고 싶다면 Chrome에서 수동 업데이트 메커니즘을 제공합니다. 업데이트를 테스트할 때도 유용한 도구입니다.
개별 사용자는 다음 단계에 따라 설치된 모든 확장 프로그램을 강제로 업데이트할 수 있습니다.
- chrome://extensions로 이동합니다.
- 오른쪽 상단의 전환 버튼을 사용하여 개발자 모드를 사용 설정합니다.
- 표시되는 업데이트 버튼을 클릭합니다.
이 작업을 실행하면 Chrome이 Chrome 웹 스토어에서 설치된 모든 확장 프로그램의 최신 버전을 즉시 가져옵니다.
확장 프로그램에서 업데이트 확인
chrome.runtime API는 확장 프로그램이 업데이트 메커니즘과 상호작용할 수 있는 도구를 제공합니다.
요청 시 업데이트 확인
chrome.runtime.requestUpdateCheck() 함수를 사용하면 확장 프로그램이 프로그래매틱 방식으로 업데이트 확인을 시작할 수 있습니다. 이는 백엔드 서비스에 대한 중요한 종속 항목이 있고 최신 호환 버전을 실행해야 하는 확장 프로그램에 특히 유용합니다.
이 함수가 호출되면 Chrome은 Chrome 웹 스토어에 새 버전을 쿼리하고 새 버전을 다운로드합니다(있는 경우). 함수의 콜백은 확인 결과를 나타내는 상태를 수신합니다.
사용 가능한 업데이트 수신 대기
업데이트가 다운로드되어 설치할 준비가 되면 chrome.runtime.onUpdateAvailable 이벤트가 발생합니다. 이 이벤트는 세부정보에 새 버전 번호를 제공합니다. 이 이벤트를 수신 대기하면 확장 프로그램에서 업데이트가 제공되는지 확인할 수 있으며 적절한 경우 chrome.runtime.reload()를 사용하여 유휴 상태가 되거나 다시 로드를 유발하는 것을 고려할 수 있습니다.
다음 코드는 기본 구현 패턴을 보여줍니다.
예외적인 경우 chrome.runtime.requestUpdateCheck()를 사용하여 브라우저가 확장 프로그램 업데이트를 확인하도록 강제할 수 있습니다.
requestUpdateCheck()을 자주 호출하면 브라우저에서 제한됩니다. 업데이트가 제공되는 것을 아는 경우에만 이 함수를 사용하세요. 예를 들어 업데이트된 백엔드에 최신 버전의 확장 프로그램이 필요한 경우입니다.
엔터프라이즈 정책을 통한 업데이트 제어
관리 엔터프라이즈 환경에서 표준 확장 프로그램 업데이트 흐름에는 시스템 관리자가 설정한 정책이 적용됩니다. 이러한 정책은 보안과 안정성을 적용하기 위해 기본 동작을 재정의할 수 있습니다.
강제 설치
ExtensionInstallForcelist 정책을 사용하면 관리자가 사용자에게 특정 확장 프로그램을 자동으로 설치할 수 있습니다. 사용자는 이 정책으로 설치된 확장 프로그램을 사용 중지하거나 제거할 수 없습니다.
확장 프로그램 버전 고정
하지만 기업에서는 다른 소프트웨어와의 호환성을 보장하기 위해 사용되는 확장 프로그램의 정확한 버전을 제어해야 하는 경우가 많습니다. 이를 위해 관리자는 확장 프로그램을 특정 버전에 '고정'할 수 있습니다. 이는 관리자가 조직 단위에 필요한 버전을 선택할 수 있는 Google 관리 콘솔을 통해 이루어집니다. 확장 프로그램을 고정하면 Chrome에서 지정된 버전 이상으로 업데이트하지 않습니다.
업데이트 소스 재정의
기업은 보안 또는 맞춤설정 이유로 자체 포크된 확장 프로그램 버전을 호스팅할 수 있습니다. o렇게 하려면 override_update_url 속성이 true로 설정된 ExtensionSettings 정책을 사용하세요. 이렇게 하면 Chrome이 Chrome 웹 스토어가 아닌 지정된 URL에서 확장 프로그램과 업데이트를 가져오게 됩니다.
최소 Chrome 버전 설정
확장 프로그램의 매니페스트 파일에서 minimum_chrome_version을 지정할 수 있습니다. 이렇게 하면 확장 프로그램이 사용하는 API를 지원하는 Chrome 버전에만 확장 프로그램이 설치됩니다.
새로 설치하는 경우 Chrome 웹 스토어에서 이전 버전의 Chrome 사용자가 확장 프로그램을 설치하지 못하도록 '호환되지 않음' 메시지를 표시합니다. 기존 사용자의 경우 확장 프로그램 업데이트로 인해 minimum_chrome_version
이 사용자가 설치한 Chrome 버전보다 높은 버전으로 증가하면 해당 확장 프로그램의 업데이트가 자동으로 중지됩니다. 개발자는 이를 인지하고 상당 부분의 사용자층이 영향을 받을 수 있는 경우 사용자에게 알려야 합니다.