새로운 Side Panel API를 사용하여 우수한 사용자 환경 설계

올리버 덩크
올리버 덩크
에이미 스팀
Amy Steam

1년 전 2022년 5월, Google은 Chrome에 측면 패널을 추가했습니다. 이는 사용자가 탐색 중인 콘텐츠와 함께 도구를 사용할 수 있는 새로운 컴패니언 표시 경로입니다. 오늘 Chrome 114부터 확장 프로그램의 측면 패널에 콘텐츠를 표시할 수 있게 되었다는 소식을 전해드립니다.

선택한 단어의 정의를 보여주는 사전 확장 프로그램
선택한 단어의 정의를 보여주는 사전 확장 프로그램입니다. chrome-extensions-samples 저장소에서 코드를 참고하세요.

사용자에게는 더 나은, 개발자는 더 쉽게

이미 많은 개발자가 확장 프로그램에 사이드바와 유사한 환경을 구현하는 것을 확인했으며, 이것이 플랫폼 표준으로 만들게 된 이유이기도 합니다. 새로운 Side Panel API를 사용하면 사용자가 방문하는 페이지와 함께 열리는 영구 UI를 제공할 수 있습니다. 사용자는 확장 프로그램 간의 일관된 배치와 레이아웃을 활용할 수 있습니다. 또한 호스트 권한을 요청하지 않고 UI를 표시할 수 있으면 사용자의 개인 정보 보호 측면에서도 큰 도움이 되며, 설치 시 확장 프로그램에 표시되는 경고 수가 줄어드는 추가 이점도 있습니다.

Side Panel API는 신뢰할 수 없는 페이지에 콘텐츠를 삽입할 때 발생하는 골칫거리를 없애줍니다. 또한 여러 사이트에서 호환성을 유지하고 확장 프로그램으로 인한 우발적인 중단에 관한 버그 신고를 살펴봐야 하는 요구사항을 크게 줄여줍니다.

웹 전반의 사용자를 위한 컴패니언

확장 프로그램의 일부로 새로운 측면 패널 환경을 빌드할 때는 한 가지 유의해야 할 사항이 있습니다. 웹에서 사용자가 작업을 완료하도록 어떻게 지원하고 있나요? 다음은 고려해야 할 몇 가지 질문입니다.

측면 패널은 사용자에게 어떻게 도움이 되나요?
단일 목적 정책은 측면 패널에도 적용됩니다. 측면 패널에서 나머지 확장 프로그램 및 사용자가 달성하고자 하는 것과 직접적으로 관련된 기능을 제공해야 합니다.
관련이 있을 때만 측면 패널이 표시되나요?
Side Panel API를 사용하면 사용자에게 측면 패널이 표시되는 사이트를 선택할 수 있습니다. 이렇게 하면 콘텐츠가 사용자와 관련이 없거나 사용자가 탐색 중인 콘텐츠와 관련이 없을 때 광고가 표시되지 않도록 할 수 있습니다.
디자인이 확장 프로그램의 나머지 부분과 일관적인가?
측면 패널에는 확장 프로그램 및 스토어 등록정보의 로고, 색상, 아이콘, 글꼴과 일치하며 시각적으로 매력적인 디자인이 있어야 합니다. 이렇게 하면 사용자가 확장 프로그램을 사용하는 곳이라면 어디에나 일관되고 인식 가능한 환경이 제공됩니다.
사용자가 내 측면 패널을 어떻게 찾을 수 있나요?
확장 프로그램 내에서 충분한 문서나 교육을 제공하여 신규 사용자에게 측면 패널을 사용하는 방법을 알려주세요. 이렇게 하면 사용자를 유지하고 스토어 등록정보에서 부정적인 리뷰를 피하는 데 도움이 됩니다. 스토어 등록정보에서 확장 프로그램이 작동하는 방식을 보여주는 YouTube 동영상을 포함함으로써 사용자가 확장 프로그램을 설치하기 전에 정보를 제공할 수 있습니다.

또한 이러한 고려사항을 반영하기 위해 프로그램 정책권장사항품질 가이드라인 섹션이 업데이트되었습니다. 이번 변경사항은 측면 패널이 보완 기능을 제공하여 사용자의 탐색 환경과 관련된 유용한 보조 역할을 해야 한다는 점을 강조합니다. 또한 측면 패널에 불필요한 방해 요소가 있어서는 안 된다는 것을 명확히 보여줍니다.

API 개요

확장 프로그램을 측면 패널에 표시하려면 매니페스트에서 "sidePanel" 권한을 요청하고 확장 프로그램 내의 페이지를 가리키는 "default_path"가 포함된 "side_panel" 키를 추가합니다.

manifest.json:

{
  ...
  "side_panel": {
    "default_path": "sidepanel.html"
  },
  "permissions": [
    "sidePanel"
  ]
  ...
}

다른 확장 프로그램 페이지에서와 마찬가지로 측면 패널 페이지에서 스크립트와 호출 확장 프로그램 API를 로드할 수 있습니다. 측면 패널 아이콘은 확장 프로그램 아이콘에서 가져옵니다. 세련되게 설정할 수도 있습니다.

추가 기능

측면 패널을 작업 아이콘에 연결하면 언제든지 쉽게 열 수 있습니다.

service-worker.js:

await chrome.sidePanel.setPanelBehavior({ openPanelOnActionClick: true });

측면 패널이 특정 페이지에만 표시되도록 하려면 다음과 같이 제어하여 사용자와 관련이 없는 다른 위치에 표시되지 않도록 할 수 있습니다.

service-worker.js:

chrome.tabs.onUpdated.addListener((tabId, info, tab) => {
  if (!tab.url) return;

  const url = new URL(tab.url);

  if (url.origin === 'https://example.com') {
    chrome.sidePanel.setOptions({ tabId, path: 'sidepanel.html', enabled: true });
  } else {
    chrome.sidePanel.setOptions({ tabId, enabled: false });
  }
});

자세히 알아보기

Side Panel API 문서가 게시되어 지금 바로 읽어 볼 수 있습니다. 또한 chrome-extensions-samples 저장소에 샘플이 추가되었으며 이곳에서 API를 실제로 사용하는 방법을 확인할 수 있습니다.

앞서 말씀드린 바와 같이 Google 정책 페이지 및 권장사항도 수정하여 사용자에게 최상의 환경을 제공하는 측면 패널을 만드는 방법을 자세히 설명합니다.

새로운 기능 페이지를 방문하여 Chrome 확장 프로그램 소식을 확인할 수 있으며, Side Panel API와 관련하여 궁금한 점이 있거나 도움이 필요한 경우 Chromium 확장 프로그램 Google 그룹을 방문하세요.


사진: 바르단 Papikyan(Unsplash 제공)