Windows ウィジェットは、Windows アプリまたはプログレッシブ Web アプリ (PWA) によって提供されるコンテンツを表示する小さな UI コンテナーです。 アダプティブ カードテンプレートとデータを提供することも、Web ウィジェットを使用して URL から HTML を表示することもできます。 Web ウィジェットは引き続きアダプティブ カード JSON ペイロードを使用してコンテンツ URL を指定します。
パッケージ化されたデスクトップ アプリの場合は、ウィジェット ホストからの要求に応答し、 WidgetManager を介して更新を送信するウィジェット プロバイダーを実装します。 PWA は、Web アプリ マニフェストでウィジェット定義を使用し、サービス ワーカーでウィジェット イベントを処理します。
Windows ウィジェットエクスペリエンスの概要と、独自のウィジェットを作成するための設計ガイダンスについては、ウィジェットのWindowsを参照してください。
現在、パッケージ化された Win32 デスクトップ アプリまたはプログレッシブ Web アプリ (PWA) を使用してウィジェット プロバイダーを実装できます。 詳細については、以下を参照してください。
- win32 アプリでウィジェット プロバイダーを実装する (C#)
- win32 アプリでウィジェット プロバイダーを実装する (C++/WinRT)
- PWA 駆動型のウィジェットを構築する
- Web ウィジェット プロバイダー
- ウィジェット ヘッダーのカスタマイズ
デスクトップ ウィジェット プロバイダーの API と機能
ウィジェットの作成、削除、アクティブ化、コンテキストの変更、およびユーザー アクション用に IWidgetProvider を実装します。 カスタマイズまたは Web コンテンツ用にオプションのインターフェイスを追加する場合、基本インターフェイスは引き続き必須です。
| 能力 | API またはガイダンス | Availability |
|---|---|---|
| ウィジェットのライフサイクルとアダプティブ カードの更新 | IWidgetProvider と WidgetManager | Windows アプリ SDK 1.2 |
| ユーザーのカスタマイズ | IWidgetProvider2 とマニフェストの IsCustomizable 属性 | Windows アプリ SDK 1.4 |
| Web コンテンツ、リソース要求、メッセージング | Web ウィジェット プロバイダー、 IWidgetResourceProvider、 IWidgetProviderMessage、 WidgetManager.SendMessageToContent | Windows アプリ SDK 1.6.3 です。また、Web ウィジェットのホストとリージョンの要件も確認してください。 |
| まだパーソナライズされていないコンテンツや、操作できる状態になっていないコンテンツを示す | WidgetUpdateRequestOptions.IsPlaceholderContent | Windows アプリ SDK 1.6.6 |
| ウィジェットアナリティクスコールバック | IWidgetProviderAnalytics | Windows Widgets Board では、Windows 11 ビルド 26900 以降、これらのコールバックがサポートされています。 他のホストもインターフェイスをサポートする必要があります。 API 解説を参照してください。 |
SDK のバージョンは、どのリリースをインストールすべきかではなく、API がいつ使用可能になったかを示します。 Windows アプリ SDK リリース チャネルから現在サポートされている安定リリースを使用し、ターゲット Windows デバイスとウィジェット ホストで使用する機能をテストしてください。 ヘッダーの表示オプションについては、「ウィジェットヘッダー領域のカスタマイズ」を参照してください。 PWA サービス ワーカー API は別の実装パスです。この表のデスクトップ インターフェイスはそれには適用されません。
ウィジェット ホストは、ピン留めされたウィジェットの有効期間に関係なく、プロバイダーをアクティブ化して解放できます。 プロバイダーの起動時にウィジェットの状態を復元し、IWidgetProvider コールバックから制御が戻った後はコールバック引数オブジェクトを保持しません。 詳細については、 IWidgetProvider の解説を参照してください。
完全な API リファレンスについては、Microsoft.Windows.Widgets.Providers 名前空間を参照してください。
ウィジェットの作成とウィジェット プロバイダーの実装の基本のチュートリアルについては、「タブとスペース」のエピソード「Windows 11のウィジェットを作成する」をご覧ください。
その他のリソース
関連資料
Windows developer