StoreContext 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供可用于访问和管理当前应用的 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
- 继承
- 属性
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 |
例如,当应用许可证的状态更改 (试用期已过期或用户已购买应用的完整版本) 时引发。 |