StoreContext 类

定义

提供可用于访问和管理当前应用的 Microsoft Store 相关数据的成员。 例如,可以使用此类的成员获取当前应用的 Microsoft Store 一览和许可证信息,购买应用提供的当前应用或产品,或下载并安装应用的程序包更新。

在桌面应用中,在以显示 UI 的方式使用此类的实例之前,需要将该对象与其所有者的窗口句柄相关联。 有关详细信息和代码示例,请参阅 显示依赖于 CoreWindow 的 WinRT UI 对象

public ref class StoreContext sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Services.Store.StoreContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StoreContext final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Services.Store.StoreContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StoreContext
Public NotInheritable Class StoreContext
继承
Object Platform::Object IInspectable StoreContext
属性

Windows 要求

设备系列
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
API contract
Windows.Services.Store.StoreContract (在 v1.0 中引入)

注解

注意

此类和 Windows.Services.Store 命名空间的其余部分在 Windows 10 版本 1607 中引入。 此类只能在面向 Windows 10 周年版 (10.0 的项目中使用;内部版本 14393) 或 Visual Studio 中的更高版本。 如果项目面向早期版本的 Windows 10,则必须使用 Windows.ApplicationModel.Store 命名空间而不是 Windows.Services.Store 命名空间。 有关详细信息,请参阅应用内购买和试用

StoreContext 类是 Windows.Services.Store 命名空间的main入口点。 使用此类的成员执行一些任务,例如获取当前应用的 Microsoft Store 一览和许可证信息、购买应用提供的当前应用或加载项,或下载和安装应用的程序包更新。 此命名空间中的其他类和类型表示应用加载项、应用及其加载项的许可证以及应用的 Microsoft Store 列表信息等项。

若要获取 StoreContext 对象,请使用以下静态方法之一:

  • GetDefault:在单用户应用中使用此方法 (即仅在启动应用的用户上下文中运行的应用) 。 此方法获取一个 StoreContext 对象,可用于访问和管理用户的 Microsoft Store 相关数据。 大多数通用 Windows 平台 (UWP) 应用是单用户应用。

    Windows.Services.Store.StoreContext context = StoreContext.GetDefault();
    
  • GetForUser:在多用户应用中使用此方法。 此方法获取一个 StoreContext 对象,可用于访问和管理特定用户的 Microsoft Store 相关数据。 有关多用户应用的详细信息,请参阅 多用户应用程序简介

    var users = await Windows.System.User.FindAllAsync();
    Windows.Services.Store.StoreContext context = StoreContext.GetForUser(users[0]);
    

拥有 StoreContext 对象后,可以开始调用方法来为当前用户和其他任务购买应用或加载项。 有关详细信息,请参阅以下文章:

还可以使用 StoreContext 对象下载并安装应用的包更新。 有关详细信息,请参阅 下载并安装应用的包更新

版本历史记录

Windows 版本 SDK 版本 已添加值
1703 15063 FindStoreProductForPackageAsync
1803 17134 CanAcquireStoreLicenseAsync
1803 17134 CanAcquireStoreLicenseForOptionalPackageAsync
1803 17134 CanSilentlyDownloadStorePackageUpdates
1803 17134 DownloadAndInstallStorePackagesAsync
1803 17134 GetAssociatedStoreQueueItemsAsync
1803 17134 GetStoreProductsAsync (IEnumerable<String>,IEnumerable<String>,StoreProductOptions)
1803 17134 GetStoreQueueItemsAsync
1803 17134 RequestDownloadAndInstallStorePackagesAsync (IEnumerable<String>,StorePackageInstallOptions)
1803 17134 RequestUninstallStorePackageAsync
1803 17134 RequestUninstallStorePackageByStoreIdAsync
1803 17134 TrySilentDownloadAndInstallStorePackageUpdatesAsync
1803 17134 TrySilentDownloadStorePackageUpdatesAsync
1803 17134 UninstallStorePackageAsync
1803 17134 UninstallStorePackageByStoreIdAsync
1809 17763 RequestRateAndReviewAppAsync
1809 17763 SetInstallOrderForAssociatedStoreQueueItemsAsync

属性

CanSilentlyDownloadStorePackageUpdates

获取一个值,该值指示是否可以在不向用户显示通知 UI 的情况下下载当前应用的包更新。

User

获取有关与多用户应用中当前 StoreContext 对象关联的用户的信息。

方法

AcquireStoreLicenseForOptionalPackageAsync(Package)

获取当前应用的 DLC) 加载项包 (指定可下载内容的许可证。

CanAcquireStoreLicenseAsync(String)

获取一个值,该值指示是否可以为当前用户的当前应用 (DLC) 加载项获取指定可下载内容的许可证。

CanAcquireStoreLicenseForOptionalPackageAsync(Package)

获取一个值,该值指示是否可以为当前用户的当前应用 (DLC) 包获取指定可下载内容的许可证。

DownloadAndInstallStorePackagesAsync(IIterable<String>)

从 Microsoft Store 下载并安装指定的可下载内容 (DLC) 当前应用的包,而无需向用户显示通知 UI 对话框。

FindStoreProductForPackageAsync(IIterable<String>, Package)

获取与指定包关联的应用或加载项的应用商店产品详细信息。

GetAppAndOptionalStorePackageUpdatesAsync()

获取当前应用的包集合,这些包具有可从 Microsoft Store 下载的更新,包括应用的可选包。

GetAppLicenseAsync()

获取当前应用的许可证信息,包括当前应用的加载项许可证。

GetAssociatedStoreProductsAsync(IIterable<String>)

获取可从当前应用内购买的产品的 Microsoft Store 一览信息。

GetAssociatedStoreProductsByInAppOfferTokenAsync(IIterable<String>)

提供可用于访问和管理当前应用的 Microsoft Store 相关数据的成员。 例如,可以使用此类的成员获取当前应用的 Microsoft Store 一览和许可证信息,购买应用提供的当前应用或产品,或下载并安装应用的程序包更新。

在桌面应用中,在以显示 UI 的方式使用此类的实例之前,需要将该对象与其所有者的窗口句柄相关联。 有关详细信息和代码示例,请参阅 显示依赖于 CoreWindow 的 WinRT UI 对象

GetAssociatedStoreProductsWithPagingAsync(IIterable<String>, UInt32)

获取可从当前应用内购买的产品的 Microsoft Store 一览信息。 此方法支持分页以返回结果。

GetAssociatedStoreQueueItemsAsync()

获取有关当前应用的下载和安装队列中的所有新包或更新包的信息。

GetConsumableBalanceRemainingAsync(String)

获取当前应用的指定易耗品加载项的剩余余额。

GetCustomerCollectionsIdAsync(String, String)

检索 Microsoft Store ID 密钥,该密钥可用于查询产品权利或使用当前用户拥有的产品权利。

GetCustomerPurchaseIdAsync(String, String)

检索 Microsoft Store ID 密钥,该密钥可用于代表当前用户授予免费产品的权利。

GetDefault()

获取一个 StoreContext 对象,该对象可用于在当前应用的上下文中访问和管理当前用户与 Microsoft Store 相关的数据。

GetForUser(User)

获取一个 StoreContext 对象,该对象可用于在当前应用的上下文中访问和管理指定用户的 Microsoft Store 相关数据。

GetStoreProductForCurrentAppAsync()

获取当前应用的 Microsoft Store 一览信息,并提供对可用于为当前用户购买应用的方法的访问权限。

GetStoreProductsAsync(IIterable<String>, IIterable<String>)

获取与当前应用关联的指定产品的 Microsoft Store 一览信息。

GetStoreProductsAsync(IIterable<String>, IIterable<String>, StoreProductOptions)

获取与当前应用关联的指定产品的 Microsoft Store 一览信息,以及使用查询筛选器的选项。

GetStoreQueueItemsAsync(IIterable<String>)

获取有关当前应用的下载和安装队列中的指定新包或更新包的信息。

GetUserCollectionAsync(IIterable<String>)

获取用户为其购买的当前应用的加载项的 Microsoft Store 信息。

GetUserCollectionWithPagingAsync(IIterable<String>, UInt32)

获取用户为其购买的当前应用的加载项的 Microsoft Store 信息。 此方法支持分页以返回结果。

GetUserPurchaseHistoryAsync(IIterable<String>)

提供可用于访问和管理当前应用的 Microsoft Store 相关数据的成员。 例如,可以使用此类的成员获取当前应用的 Microsoft Store 一览和许可证信息,购买应用提供的当前应用或产品,或下载并安装应用的程序包更新。

在桌面应用中,在以显示 UI 的方式使用此类的实例之前,需要将该对象与其所有者的窗口句柄相关联。 有关详细信息和代码示例,请参阅 显示依赖于 CoreWindow 的 WinRT UI 对象

ReportConsumableFulfillmentAsync(String, UInt32, Guid)

在 Microsoft Store 中报告当前应用的易耗品加载项。

RequestDownloadAndInstallStorePackagesAsync(IIterable<String>)

尝试从 Microsoft Store 下载并安装指定的可下载内容 (DLC) 包。 此方法还显示一个 UI 对话框,该对话框请求操作的权限。

重要

必须在 UI 线程上调用此方法。

RequestDownloadAndInstallStorePackagesAsync(IIterable<String>, StorePackageInstallOptions)

尝试使用指定的安装选项从 Microsoft Store 下载并安装指定的可下载内容 (DLC) 包。 此方法还显示一个 UI 对话框,该对话框请求操作的权限。

重要

必须在 UI 线程上调用此方法。

RequestDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate>)

尝试从 Microsoft Store 下载并安装当前应用的指定包更新。 此方法还显示一个 UI 对话框,该对话框请求操作的权限。

重要

必须在 UI 线程上调用此方法。

RequestDownloadStorePackageUpdatesAsync(IIterable<StorePackageUpdate>)

尝试从 Microsoft Store 下载当前应用的指定包更新。 此方法还显示一个 UI 对话框,该对话框请求操作的权限。

重要

必须在 UI 线程上调用此方法。

RequestPurchaseAsync(String)

请求购买指定的应用或加载项,并显示用于通过 Microsoft Store 完成交易的 UI。

重要

必须在 UI 线程上调用此方法。

RequestPurchaseAsync(String, StorePurchaseProperties)

请求购买指定的应用或加载项,并显示用于通过 Microsoft Store 完成交易的 UI。 此方法提供一个选项,用于指定 Microsoft Store 中由单个列表表示的大型产品目录中的特定产品/服务的其他详细信息,包括购买期间向用户显示的产品名称。

重要

必须在 UI 线程上调用此方法。

RequestPurchaseByInAppOfferTokenAsync(String)

提供可用于访问和管理当前应用的 Microsoft Store 相关数据的成员。 例如,可以使用此类的成员获取当前应用的 Microsoft Store 一览和许可证信息,购买应用提供的当前应用或产品,或下载并安装应用的程序包更新。

在桌面应用中,在以显示 UI 的方式使用此类的实例之前,需要将该对象与其所有者的窗口句柄相关联。 有关详细信息和代码示例,请参阅 显示依赖于 CoreWindow 的 WinRT UI 对象

RequestRateAndReviewAppAsync()

请求用户对应用进行评分和评审。 此方法将显示 UI,以便用户选择 Microsoft Store 分级并为产品添加可选的应用商店评论。

重要

必须在 UI 线程上调用此方法。

RequestUninstallStorePackageAsync(Package)

尝试卸载当前应用的指定可选包。 此方法还显示一个 UI 对话框,该对话框请求操作的权限。

RequestUninstallStorePackageByStoreIdAsync(String)

尝试卸载当前应用的 DLC) 包 (指定的可下载内容。 此方法还显示一个 UI 对话框,该对话框请求操作的权限。

SetInstallOrderForAssociatedStoreQueueItemsAsync(IIterable<StoreQueueItem>)

设置在当前应用的下载和安装队列中安装指定包的顺序。

TrySilentDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate>)

尝试从 Microsoft Store 下载并安装当前应用的指定包更新,而不向用户显示通知 UI。

TrySilentDownloadStorePackageUpdatesAsync(IIterable<StorePackageUpdate>)

尝试从 Microsoft Store 下载当前应用的指定包更新,而不向用户显示通知 UI。

UninstallStorePackageAsync(Package)

卸载当前应用的指定可选包,而不向用户显示通知 UI 对话框。

UninstallStorePackageByStoreIdAsync(String)

卸载当前应用的指定可下载内容 (DLC) 包,而无需向用户显示通知 UI 对话框。

事件

OfflineLicensesChanged

例如,当应用许可证的状态更改 (试用期已过期或用户已购买应用的完整版本) 时引发。

适用于

另请参阅