Widgets
Windows 위젯은 설치된 앱과 연결된 작은 UI 컨테이너입니다. 위젯 보드는 Windows 데스크톱 위에 그리드 형태로 표시되며, 앱에서 개인 설정된 콘텐츠와 빠른 작업이 표시됩니다. 적응형 카드를 사용하여 JSON 템플릿에 데이터를 바인딩하는 콘텐츠를 정의하거나 웹 위젯 공급자를 사용하여 URL의 HTML을 표시할 수 있습니다. 웹 위젯은 여전히 적응형 카드 JSON 페이로드를 사용하여 콘텐츠 URL을 지정합니다.
디자인 지침은 Windows 위젯 디자인 개요 참조하세요.
위젯 개발 경로 선택
이 표를 사용하여 구현 경로와 다음으로 열 항목을 선택합니다.
| 하고 싶다면... | 이 방법 사용 | 여기에서 시작 |
|---|---|---|
| 패키지된 C# 데스크톱 앱에 적응형 카드 위젯 추가 | IWidgetProvider를 구현하고, WidgetManager를 사용하여 템플릿 및 데이터 업데이트를 보내고, 패키지 매니페스트를 통해 공급자를 등록합니다. | C# 위젯 제공자 가이드 |
| 패키지된 C++/WinRT 데스크톱 앱에 적응형 카드 위젯 추가 | Out-of-process COM 서버에서 IWidgetProvider 를 구현하고 패키지 매니페스트에 해당 CLSID 및 위젯 정의를 등록합니다. | C++/WinRT 위젯 공급자 연습 |
| 데스크톱 위젯 내의 URL에서 HTML 표시 | 웹 위젯 공급자를 사용합니다. 이 기능은 EEA의 사용자만 사용할 수 있습니다. 공급자는 여전히 웹 URL 및 대체 콘텐츠가 포함된 적응형 카드 페이로드를 보냅니다. | 웹 위젯 공급자 |
| 기존 PWA(프로그레시브 웹앱)에 대한 위젯 추가 | 웹앱 매니페스트에서 위젯을 정의하고 서비스 워커의 위젯 이벤트를 처리합니다. 데스크톱 IWidgetProvider 경로와는 별개입니다. | PWA 기반 위젯 빌드 |
| 데스크톱 공급자에서 버튼 또는 양식 작업을 처리하기 |
Action.Execute를 사용하고 OnActionInvoked에서 verb를 처리합니다. true인 경우에만 $host.isUserContextAuthenticated 표시합니다. |
위젯 템플릿 만들기 |
| 공급자 콜백 없이 앱 페이지 또는 웹 사이트 열기 | Action.OpenUrl을 사용하세요. 위젯 사용자 컨텍스트가 인증되지 않은 경우에도 계속 사용할 수 있습니다. | 위젯 템플릿 만들기 |
| 사용자가 위젯을 설정할 수 있도록 허용합니다 | IWidgetProvider2를 구현하고, 매니페스트의 IsCustomizable 특성을 설정하고, 사용자 지정 페이로드를 제공합니다. | 위젯 사용자 지정 구현하기 |
| 크기, 테마, 설정, 헤더, 웹 지원 또는 인증에 맞게 콘텐츠 조정 | 적응형 카드 템플릿에서 Windows $host 속성을 사용하고 패키지 매니페스트에서 지원되는 모든 크기를 선언합니다. |
Windows 위젯 호스트 속성 |
| 로딩 중이거나 로그아웃된 콘텐츠 표시 | 명시적 대체 템플릿 및 데이터를 보냅니다. 콘텐츠가 아직 개인 설정되거나 조치를 취할 수 없는 경우 IsPlaceholderContent를 설정합니다. | 위젯 공급자 |
| 개별 위젯 대신 대시보드 피드 추가 | 피드 공급자를 구현합니다. 피드 공급자는 별도의 통합이며 EEA에서만 사용할 수 있습니다. | 대시보드 및 피드 공급자 |
| GitHub Copilot에 위젯을 만들고 유효성을 검사하도록 요청하세요 | 지원되는 경로를 선택하고 패키지, 매니페스트, 빌드 및 위젯 보드 유효성 검사가 필요한 재사용 가능한 프롬프트를 사용합니다. | GitHub Copilot 사용하여 Windows 위젯 만들기 |
Dashboards
피드 공급자는 위젯 보드에 대시보드로 표시되는 콘텐츠 피드를 등록합니다. 피드 공급자는 위젯 공급자와는 별개의 통합입니다. 위젯 내에 HTML을 표시해도 대시보드 피드가 등록되지 않습니다.
Important
피드 공급자는 유럽 경제 지역(EEA) 사용자에게만 제공됩니다. 가용성 및 구현 요구 사항은 대시보드 및 피드 공급자를 참조하세요.
이 부분에서는
| 주제 | 설명 |
|---|---|
| 피드 공급자 | 앱의 콘텐츠 피드를 등록하여 Windows 위젯 보드에 직접 표시하는 방법을 알아봅니다. |
| 위젯 공급자 | 위젯에 대한 콘텐츠, 레이아웃 및 대화형 요소를 제공하는 위젯 공급자를 구현하는 방법을 알아봅니다. |
| 웹 위젯 공급자 | 위젯에 HTML을 표시하고 공급자와 웹 콘텐츠 간의 리소스 요청 및 메시지를 처리합니다. |
| 적응형 카드 디자이너 | 적응형 카드 Designer를 사용하여 위젯 템플릿을 만드는 단계를 안내합니다. |
| GitHub Copilot 사용하여 Windows 위젯 만들기 | 재사용 가능한 프롬프트를 사용하여 기존 리포지토리에서 위젯을 생성, 패키지 및 유효성 검사하세요. |
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
Windows developer