フィード プロバイダーのパッケージ マニフェスト (XML 形式)

Note

一部の情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。

ウィジェット ボードに表示するには、Windows フィードをサポートするアプリでそのフィード プロバイダーをシステムに登録する必要があります。 Win32 アプリの場合、現在サポートされているのはパッケージ アプリのみで、フィード プロバイダーはアプリ パッケージ マニフェスト ファイルに登録情報を指定します。 この記事では、フィード登録の XML 形式について説明します。 Win32フィード プロバイダーのパッケージ マニフェストの例のコード一覧については、「」セクションを参照してください。

アプリの拡張機能

アプリ パッケージ マニフェスト ファイルでは、Windows アプリのさまざまな拡張機能と機能がサポートされています。 アプリケーション パッケージ マニフェストの形式は、パッケージ マニフェスト スキーマ リファレンスに記載されているスキーマのセットによって定義されます。 フィード プロバイダーは、uap3:AppExtension 内で登録情報を宣言します。 拡張機能の 名前 属性は、"com.microsoft.windows.widgets.feeds" に設定する必要があります。

フィード プロバイダーには、uap3:AppExtension の子として uap3:Properties を含める必要があります。 パッケージ マニフェスト スキーマでは、適切な形式の XML を必要とする以外に、uap3:Properties 要素の構造は適用されません。 この記事の残りの部分では、フィード プロバイダーを正常に登録するためにウィジェット ボードで想定される XML 形式について説明します。

<uap3:Extension Category="windows.appExtension">
  <uap3:AppExtension Name="com.microsoft.windows.widgets.feeds" DisplayName="ContosoApp" Id="ContosoApp" PublicFolder="Public">
    <uap3:Properties>
      <!-- Feed provider registration content goes here -->
    </uap3:Properties>
  </uap3:AppExtension>
</uap3:Extension>

要素の階層

FeedProvider

  ライセンス認証

    CreateInstance

  定義

    Definition

FeedProvider

フィード プロバイダー登録情報のルート要素。

属性 種類 Required 説明 規定値
説明 string はい フィード プロバイダーの簡単な説明。 該当なし
表示名 string はい ウィジェット ボードに表示されるフィード プロバイダーの名前。 該当なし
アイコン string はい ウィジェット ボードに表示されるアイコン の画像ファイルへのパッケージ相対パス。 該当なし
Id string はい フィード プロバイダーを識別する ID。 フィード プロバイダーの実装では、この文字列を使用して、各操作で参照されるアプリのフィード プロバイダーを決定または指定します。 この文字列は、アプリ マニフェスト ファイル内で定義されているすべてのフィード プロバイダーに対して一意である必要があります。 該当なし

ライセンス認証

フィード プロバイダーのアクティブ化情報を指定します。

CreateInstance

CreateInstance は、IFeedProvider インターフェイスを実装する Win32 ベースのフィード プロバイダーに指定する必要があります。 システムは、CoCreateInstance の呼び出しでインターフェイスをアクティブ化します。 ClassId 属性は、IFeedProvider インターフェイスを実装する CreateInstance サーバーの CLSID を指定します。

属性 種類 Required 説明 規定値
ClassId GUID はい フィード プロバイダーを実装する CreateInstance サーバーの CLSID。 該当なし

定義

1 つ以上のフィード登録のコンテナー要素。

Definition

単一フィードの登録を表します。

属性 種類 Required 説明 既定値
Id string はい フィードを特定する ID。 フィード プロバイダーの実装では、この文字列を使用して、各操作で参照されるアプリのフィードを決定または指定します。 この文字列は、アプリ マニフェスト ファイル内で定義されているすべてのフィードに対して一意である必要があります。 該当なし
表示名 string はい ウィジェット ボードに表示されるフィードの名前。 該当なし
説明 string はい フィードの簡単な説明。 該当なし
contentUri string はい フィード コンテンツの取得元の URI。 該当なし
アイコン string はい ウィジェット ボードに表示されるアイコン の画像ファイルへのパッケージ相対パス。 該当なし
WebRequestFilter string いいえ リソース要求がフィード プロバイダーの IFeedResourceProvider の実装にリダイレクトされる URL セットを指定する Web 要求フィルター文字列。 パターンは、「一致パターン」で説明されている形式を使用して表されます。 登録のフィルター文字列では、必要に応じて Punycode を使用する必要があります。 すべてのコンテンツの種類は一致するとリダイレクトされるため、このフィルターで、アプリケーションの IFeedResourceProvider を介して取得することを意図したコンテンツのみが選別されるようにする必要があります。 該当なし
ExcludedRegions string いいえ フィードを使用できないリージョンの一覧。 フィードでは、 ExcludedRegions または ExclusiveRegions を指定できますが 1 つのフィード定義で両方を指定することはできません。 属性の値は、2 つの文字領域コードのコンマ区切りのリストです。 該当なし
ExclusiveRegions string いいえ フィードを使用できる唯一のリージョンの一覧。 フィードでは ExcludedRegions または ExclusiveRegions を指定できますが 両方を単一フィード定義で指定することはできません。 属性の値は、2 つの文字領域コードのコンマ区切りのリストです。 該当なし

UI に接続する属性値には、文字列リテラルの代わりにローカライズされたリソースを使用できます。 詳細については、「UI とアプリ パッケージ マニフェスト内の文字列をローカライズする」を参照してください。

次のコード例は、フィード パッケージ マニフェスト XML 形式の使用方法を示しています。

<uap3:AppExtension Name="com.microsoft.windows.widgets.feeds" DisplayName="ContosoApp" Id="ContosoApp" PublicFolder="Public">
  <uap3:Properties>
      <FeedProvider Description="ms-resource:ProviderDescription" Icon="ms-appx:Images\ContosoProviderIcon.png">
          <Activation>
              <CreateInstance ClassId="ECB883FD-3755-4E1C-BECA-D3397A3FF15C" />
          </Activation>
          <Definitions>
              <Definition Id="Contoso_Feed" 
                  DisplayName="ms-resource:FeedDisplayName"                  
                  Description="ms-resource:FeedDescription"
                  ContentUri="https://contoso.com/news"
                  Icon="ms-appx:Images\ContosoFeedIcon.png"
                  WebRequestFilter="https://contoso.com/*/feed/appResource/*"
                  ExcludedRegions="FR,DE,IT">
              </Definition>
          </Definitions>
      </FeedProvider>
  </uap3:Properties>
</uap3:AppExtension>