인라인 설치 지원 중단 이전 FAQ

2018년 6월 12일부터 인라인 설치가 지원 중단됩니다. 자세한 내용은 Chromium 블로그에서 확인하세요. 게시물을 참고하세요.

일정 관련 질문

2018년 6월 12일에 변경되는 사항

2018년 6월 12일 이후에 처음 게시된 모든 Chrome 웹 스토어 항목(예: 확장 프로그램 및 앱)은 인라인 설치가 사용 중지되었습니다. '사용 중지됨' 인라인 설치 시도는 Chrome 웹 스토어의 프로그램 세부정보 페이지로 자동 리디렉션되어 설치를 완료합니다. 스토어에 최초 등록되었던 기존 상품은 변경되지 않습니다. 이 날짜 이전에 게시된

2018년 9월 12일에 변경되는 사항

사용 중지는 게시 날짜에 관계없이 모든 항목에 적용됩니다. 인라인 설치의 100% 사용자가 모든 항목에 대해 입력을 시도하면 Chrome 웹 스토어로 리디렉션되어 설치해야 합니다

2018년 9월 12일 전에 무엇을 해야 하나요?

아무것도 변경할 필요는 없지만, 설치 과정을 검토하고 chrome.webstore.install() 호출을 통해 항목의 Chrome 웹 스토어 등록정보로 바로 이동할 수 있습니다. 이렇게 하면 최상의 사용자 환경이 생성되는지 확인할 수 있습니다.

또한 새로운 Chrome 웹 스토어 다운로드 배지를 어떻게 해야 하는지에 대해 이야기해 보겠습니다

M71에서 변경되는 사항 (2018년 12월)

M71부터 Chrome은 더 이상 chrome.webstore.install() 메서드 및 호출을 지원하지 않습니다. 실패하여 사이트의 설치 흐름이 중단됩니다. 이 시점에서 API를 호출하면 JavaScript TypeError가 발생합니다. 이 날짜 이전에 API 메서드 호출을 모두 삭제해야 합니다.

인라인 설치가 사용 중지된 후

설치 과정은 어떻게 진행되나요?

사이트에서 chrome.webstore.install()를 호출해도 Chrome에서 더 이상 대화상자를 즉시 트리거하지 않습니다. Chrome 웹 스토어의 세부정보 페이지로 새 포그라운드 탭이 열립니다 (예: https://chrome.google.com/webstore/detail/EXTENSION_ID). 여기에서 사용자는 설치 프로세스가 완료되고 대화상자가 사용자에게 권한을 갖고 설치 또는 취소할 수 있습니다. 대화상자를 닫으면 탭이 Chrome에 그대로 유지됩니다. 웹 스토어로 이동합니다.

설치가 완료되었는지 어떻게 알 수 있나요?

chrome.webstore.install()를 호출하면 오류와 함께 failureCallback이 트리거됩니다. 사용자가 Chrome 웹 스토어로 리디렉션되었다고 알리는 메시지가 표시됩니다. 이 항목은 알 수 없습니다. Chrome 71부터는 chrome.webstore.install()가 실패하므로 failureCallback이 실행되지 않습니다.

이 API가 없어도 사이트에서 다음을 통신하여 항목이 이미 설치되었는지 감지할 수 있습니다. 확장 프로그램 및 웹사이트 간의 연결을 유지합니다. 이는 확장 프로그램 메시지와 externally_connectable 속성 값을 포함합니다.

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('EXTENSION_ID', MESSAGE, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

다음을 바꿉니다.

  • EXTENSION_ID: 확장 프로그램의 ID입니다.
  • MESSAGE: 확장 프로그램에 전송할 메시지 문자열 또는 객체입니다.

설치 후 정보 페이지를 실행하려면 어떻게 해야 하나요?

설치 후 chrome.runtime 이벤트를 사용하여 새 탭을 엽니다. 이것은 백그라운드 페이지:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

예외를 적용할 수 있나요?

아니요. 이 정책 변경사항은 예외 없이 Chrome 웹 스토어의 모든 항목에 적용됩니다.