应用功能声明(Windows 应用商店应用)

Applies to Windows and Windows Phone

如果应用需要以编程方式对用户资源(例如“图片”)或设备(例如相机)进行访问,则必须声明相应的功能。 应用通过在其程序包清单中声明相应的功能来请求访问。你可以使用 Microsoft Visual Studio 中的清单设计器声明大多数功能,也可以按照如何在包清单中指定功能所述手动添加它们。

当你向应用商店提交应用时,应用商店会对应用进行检查,以确保所声明的功能与应用的描述相匹配。如果声明了大量功能,或声明了用户可能较敏感的某些功能,那么在向应用商店提交应用时,这可能会提高它的审查级别。当客户从应用商店获取你的应用时,会向它们告知该应用声明的所有功能。

存在两种类型的应用商店帐户:公司帐户和个人帐户。 应用了下述特殊使用功能的应用需要使用公司帐户才能将这些功能提交到应用商店。 有关公司帐户的详细信息,请参阅帐户类型、位置和费用

下面将介绍一些受保护的资源,以及访问这些资源时所需的许可范围。

常用许可范围

常用功能适用于常见应用的大多数场景。

音乐

musicLibrary 许可范围可提供对用户音乐的编程访问能力,让应用无需用户交互即可枚举和访问库中的所有文件。此许可范围通常用在需要访问整个音乐库的自动唱片点唱机应用中。

file picker 提供了一种强大的 UI 机制,让用户可以打开要通过某个应用处理的文件。 仅当应用需要进行编程访问,而使用 file picker 无法实现编程访问时,才应声明 musicLibrary 许可范围。 有关如何访问库中文件的示例,请参阅快速入门:通过编程方式访问文件

图片

picturesLibrary 许可范围可提供对用户图片的编程访问能力,让应用无需用户交互即可枚举和访问库中的所有文件。此许可范围通常用在需要访问整个图片库的照片播放应用中。

file picker 提供了一种强大的 UI 机制,让用户可以打开要通过某个应用处理的文件。 仅当应用需要进行编程访问,而使用 file picker 无法实现编程访问时,才应声明 picturesLibrary 许可范围。 有关如何访问库中文件的示例,请参阅快速入门:通过编程方式访问文件

视频

videosLibrary 许可范围可提供对用户视频的编程访问能力,让应用无需用户交互即可枚举和访问库中的所有文件。此许可范围通常用在需要访问整个视频库的电影播放应用中。

file picker 提供了一种强大的 UI 机制,让用户可以打开要通过某个应用处理的文件。 仅当应用需要进行编程访问,而使用 file picker 无法实现编程访问时,才应声明 videosLibrary 许可范围。 有关如何访问库中文件的示例,请参阅快速入门:通过编程方式访问文件

可移动存储

removableStorage 许可范围可提供对可移动存储(例如 USB 密钥和外部硬盘驱动器)中文件的编程访问能力,这些文件将按照包清单中声明的文件类型关联进行筛选。例如,如果某个 DOC 阅读器应用仅声明了一个 .doc 文件类型关联,则它可以打开可移动存储设备中的 .doc 文件,而无法打开其他类型的文件。 声明此许可范围时请务必小心,因为用户的可移动存储中可能包含多种信息,它们将期待应用提供有效的理由才能对该可移动存储中所有文件类型进行编程访问。

用户将期待你的应用处理你所声明的所有文件关联。因此,请勿声明你的应用无法可靠处理的文件关联。 file picker 提供了一种强大的 UI 机制,让用户可以打开要通过某个应用处理的文件。

仅当应用需要进行编程访问,而使用 file picker 无法实现编程访问时,才应声明 removableStorage 许可范围。

Internet 和公共网络

存在两种许可范围,提供了对 Internet 和公共网络的不同级别的访问。这些许可范围授予不同的访问权限,具体取决于应用是在 Windows 还是在 Windows Phone 上运行。

许可范围Windows 行为Windows Phone 行为
internetClient可以从 Internet 接收传入数据。无法充当服务器。无法访问本地网络。可完全访问本地网络和 Internet,并可以充当服务器。对重要端口的入站访问始终会被阻止。
internetClientClientServer可以从 Internet 接收传入数据。可以充当服务器。无法访问本地网络。可完全访问本地网络和 Internet,并可以充当服务器。对重要端口的入站访问始终会被阻止

 

在 Windows 上,具有 Web 服务组件的大多数应用都将使用 internetClient。如果应用支持需要在其中侦听传入的网络连接的对等 (P2P) 方案,则应该使用 internetClientServerinternetClientServer 许可范围包括 internetClient 许可范围所提供的访问能力,因此,在指定 internetClientServer 时无需指定 internetClient

如果你声明这些功能,则一个重要认证要求是在“设置”窗格中包含指向“隐私策略”的链接。当前,忘记执行此操作是阻止认证的最常见原因!

家庭和工作网络

privateNetworkClientServer 许可范围可提供通过防火墙对家庭和工作网络的入站和出站访问能力。此功能通常用于通过局域网 (LAN) 通信的游戏和在各种本地设备上共享数据的应用。 如果你的应用指定了 musicLibrarypicturesLibraryvideosLibrary,则无需使用此许可范围即可访问家庭组中相应的库。 在 Windows 上,此许可范围不提供对 Internet 的访问权限。在 Windows Phone 上,此许可范围提供与 internetClientinternetClientClientServer 相同的访问权限。

约会

注意  从适用于 Windows 8.1 Windows 应用商店应用的应用包清单开始受支持。此许可范围还受 Windows Phone 支持。

appointments 功能提供了对用户的约会应用商店的访问权限。此功能允许读取从同步的网络帐户获得的约会以及写入约会应用商店的其他应用。通过此功能,你的应用可以创建新的日历并向所创建的日历写入约会。

联系人

注意  从适用于 Windows 8.1 Windows 应用商店应用的应用包清单开始受支持。此许可范围还受 Windows Phone 支持。

contacts 功能提供了对各种联系人应用商店中的联系人的聚合视图的访问权限。此功能向已在各种网络和本地联系人应用商店中同步的联系人提供了对该应用的受限访问权限(应用网络许可规则)。

设备功能

设备功能允许你的应用访问外围设备和内部设备。可在你的应用程序包清单中使用 DeviceCapability 元素指定设备功能。 此元素可能需要其他子元素,并且某些设备功能需要手动添加到该程序包清单。有关详细信息,请参阅如何在程序包清单中指定设备功能Schema reference for Windows 8 Windows Store appsSchema reference for Windows 8.1 and Windows Phone 8.1

位置

location 许可范围可提供对定位功能的访问能力,定位功能通常从专用硬件(如电脑中的 GPS 传感器)或从可用的网络信息中获得。 应用必须处理用户从“设置”超级按钮禁用了定位服务的情况。 有关如何检测用户位置的示例,请参阅检测地理位置

麦克风

microphone 许可范围可提供对麦克风音频源的访问能力,让应用可以录制来自所连接麦克风的音频。应用必须处理用户从“设置”超级按钮禁用了麦克风的情况。 有关如何录制音频的示例,请参阅如何录制音频或视频

Proximity

proximity 功能支持临近的多个设备彼此通信。此许可范围通常用在多用户休闲游戏和交换信息的应用中。 设备会尝试使用可提供最佳连接的通信技术,包括蓝牙、WiFi 和 Internet。此功能仅用于发起设备间的通信。 有关如何使用邻近感应连接应用的示例,请参阅快速入门:使用点击或浏览连接应用

网络摄像机

webcam 许可范围提供对内置相机或外部摄像机的视频源的访问权限,这使应用可以捕获照片和视频。 在 Windows 上,应用必须处理用户从“设置”超级按钮禁用了相机的情况。 有关如何录制视频的示例,请参阅如何录制音频或视频

webcam 许可范围仅授予对视频流的访问权限。若也要授予对音频流的访问权限,必须添加 microphone 许可范围。

USB

USB 设备功能启用对 Windows.Devices.Usb 命名空间中的 API 的访问。通过使用该命名空间,你可以编写与自定义 USB 设备进行通信的应用。在此上下文中,“自定义”是指 Microsoft 没有为其提供内置的类驱动程序的外围设备。此设备功能需要子元素。有关详细信息,请参阅为 USB 设备更新应用清单包

注意  USB API 在 Windows Phone 上不受支持。

人体学接口设备 (HID)

humaninterfacedevice 设备功能启用对 Windows.Devices.HumanInterfaceDevice 命名空间中的 API 的访问。该命名空间允许你的应用访问支持人体学接口设备 (HID) 协议的设备。此设备功能需要子元素。有关详细信息,请参阅如何为 HID 指定设备功能

蓝牙 GATT

bluetooth.genericAttributeProfile 设备功能启用对 Windows.Devices.Bluetooth.GenericAttributeProfile 命名空间中的 API 的访问。该命名空间允许你的应用通过主要服务、附属服务、特征和描述符的集合访问蓝牙 LE 设备。有关详细信息,请参阅如何为蓝牙指定设备功能

蓝牙 RFCOMM

bluetooth.rfcomm 设备功能启用对 Windows.Devices.Bluetooth.Rfcomm 命名空间中的 API 的访问。该命名空间支持基本速率/扩展数据速率 (BR/EDR) 传输,并且允许你的应用访问实现了串行端口配置文件 (SPP) 的设备。此设备功能需要子元素。有关详细信息,请参阅如何为蓝牙指定设备功能

服务点 (POS)

pointOfService 设备功能启用对 Windows.Devices.PointOfService 命名空间中的 API 的访问。该命名空间允许你的 Windows 应用商店应用访问服务点 (POS) 条码扫描仪和磁条阅读器。该名称空间提供了一个独立于供应商的接口,可用于从 Windows 应用商店应用访问由各种制造商提供的 POS 设备。有关这些 API 的详细信息,请参阅 Windows 8.1:新的 API 和功能

注意  Windows Phone 不支服务点 API。

专用许可范围

专用许可范围专用于非常特定的场景。 这些许可范围的使用受严格限制,且受应用商店的其他上架政策和评审的约束。 在某些情况下,这些许可范围是必要的或适宜的,如在使用双因素身份验证开展银行业务时,用户提供带数字签名的智能卡确认其身份。 其他应用可能主要针对企业用户而设计,可能需要访问一些必需使用用户的域凭据才能访问的企业资源。

应用了特殊使用功能的应用需要使用公司帐户才能将这些功能提交到应用商店。 有关 Windows 公司帐户的详细信息,请参阅帐户类型、位置和费用。 有关 Windows Phone,请参阅注册信息

企业身份验证

Windows 域凭据支持用户使用其凭据登录远程资源,向用户提供了他们的用户名和密码一样操作。enterpriseAuthentication 许可范围通常用在连接到企业内服务器的业务线应用中。

对于一般的 Internet 通信无需使用此许可范围。

enterpriseAuthentication 许可范围专用于支持一些常用的业务线应用。请勿在无需访问企业资源的应用中声明此许可范围。 file picker 提供了一种强大的 UI 机制,让用户可以打开网络共享中要通过某个应用处理的文件。 仅当应用需要进行编程访问,而使用 file picker 无法实现编程访问时,才应声明 enterpriseAuthentication 许可范围。

共享用户证书

sharedUserCertificates 功能支持应用访问软件和硬件证书,例如存储在智能卡上的证书。此功能通常用于需要智能卡来验证身份的财务或企业应用。

文档

documentsLibrary 许可范围可提供对用户文档的编程访问能力,这些文档将按照程序包清单中声明的文件类型关联进行筛选,以支持脱机访问 OneDrive。例如,如果 DOC 阅读器应用声明了一个 .doc 文件类型关联,则它可以打开文档中的 .doc 文件,但无法打开其他类型的文件。

声明 documentsLibrary 许可范围的应用无法访问家庭组计算机中的文档。 文件选取器提供了一种强大的 UI 机制,让用户可以打开要通过某个应用处理的文件。 仅当无法使用文件选取器时才声明 documentsLibrary 功能。

若要使用 documentsLibrary 功能,应用必须:

  • 使用有效的 OneDrive URL 或资源 ID 促进跨平台脱机访问特定 OneDrive 内容
  • 在脱机时将打开的文件自动保存到用户的 OneDrive

使用 documentsLibrary 功能实现这两个目的的应用还可以选择使用该功能打开另一文档中的嵌入内容。 仅接受 documentsLibrary 功能的以上用途。

相关主题

清单设计器
如何在包清单中指定功能
如何在包清单中指定设备功能

 

 

显示:
© 2014 Microsoft