源提供程序包清单 XML 格式

注意

一些信息与预发布产品相关,在商业发行之前可能发生实质性修改。 Microsoft 对此处提供的信息不提供任何明示或暗示的保证。

要在小组件板中显示,支持 Windows 源的应用必须将其源提供程序注册到系统。 对于 Win32 应用,目前仅支持打包的应用,源提供程序在应用程序包清单文件中会指定其注册信息。 本文介绍了源注册的 XML 格式。 有关 Win32 源提供程序示例程序包清单的代码列表,请参阅示例部分。

应用扩展

应用包清单文件支持适用于 Windows 应用的许多不同的扩展和功能。 应用包清单格式由 包清单架构引用 中记录的一组架构定义。 源提供程序在 uap3:AppExtension 中声明其注册信息。 扩展的 Name 属性必须设置为“com.microsoft.windows.widgets.feeds”。

源提供程序应包含 uap3:Properties 作为 uap3:AppExtension 的子级。 包清单架构不强制使用 uap3:Properties 元素的结构,仅需要格式正确的 XML。 本文的其余部分介绍了小组件板期望的 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

  定义

    定义

FeedProvider

源提供程序注册信息的根元素。

属性 类型 必需 说明 默认值
描述 字符串 源提供程序的简短说明。 空值
DisplayName string 小组件板上显示的源提供程序的名称。 空值
图标 string 小组件板中显示的图标图像文件的包相对路径。 空值
Id string 标识源提供程序的 ID。 源提供程序实现使用此字符串来确定或指定要为每个操作引用该应用的哪些源提供程序。 对于应用清单文件中定义的所有源提供程序,此字符串必须唯一。 空值

激活

指定源提供程序的激活信息。

CreateInstance

应为实现 IFeedProvider 接口的基于 Win32 的源提供程序指定 CreateInstance。 系统将通过调用 CoCreateInstance 来激活接口。 ClassId 属性为用于实现 IFeedProvider 接口的 CreateInstance 服务器指定 CLSID

属性 类型 必需 说明 默认值
ClassId GUID 用于实现源提供程序的 CreateInstance 服务器的 CLSID。 空值

定义

一个或多个源注册的容器元素。

定义

表示单个源的注册。

属性 类型 必需 说明 默认值
Id string 标识源的 ID。 源提供程序实现使用此字符串来确定或指定要为每个操作引用该应用的哪些源。 对于应用清单文件中定义的所有源,此字符串必须唯一。 空值
DisplayName string 小组件主机上显示的源的名称。 空值
描述 字符串 源的简短描述。 空值
ContentUri string 从中检索源内容的 URI。 空值
图标 string 小组件板中显示的图标图像文件的包相对路径。 空值
WebRequestFilter string 一个 Web 请求筛选字符串,它指定了资源请求将重定向到源提供程序的 IFeedResourceProvider 实现的 URL 集。 该模式使用匹配模式中所述的格式来表示。 必要时,注册中的筛选字符串必须使用 Punycode。 匹配时,将重定向所有内容类型,以便该筛选器仅应解析为旨在通过应用程序中的 IFeedResourceProvider 来获取的内容。 空值

面向 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/*" >
              </Definition>
          </Definitions>
      </FeedProvider>
  </uap3:Properties>
</uap3:AppExtension>