【问题标题】:What UWP API raises a purchase event?什么 UWP API 引发购买事件?
【发布时间】:2022-01-18 00:48:11
【问题描述】:

我正在创建一个以 MediaComposition 类为中心的 UWP 视频编辑器应用程序,我希望用户可以随意使用和测试它,因为他们将在下载和安装它时获得无限制的免费试用。 (该应用程序将通过 Windows 应用商店提供。)但是,制作的任何视频都会有水印。购买应用后,水印将被删除。

什么 API 会引发购买事件来帮助我完成此操作?

【问题讨论】:

标签: c# uwp windows-store-apps windows-store


【解决方案1】:

您可以使用来自Windows.Services.StoreStoreContext.OfflineLicensesChanged 事件来检测您应用的 Microsoft Store 许可证的更改:

StoreContext.OfflineLicensesChanged 事件

当应用的许可状态发生变化时触发(例如,试用期已过或用户购买了应用的完整版)。

public event TypedEventHandler<StoreContext,object> OfflineLicensesChanged;

引发此事件时,您可以通过调用 GetAppLicenseAsync 方法从 Microsoft Store 获取最新的应用许可证。此方法返回的StoreAppLicense 对象还在AddOnLicenses 属性中包含应用程序的最新附加许可。

但是,请注意以下version restriction

Windows.Services.Store 命名空间是在 Windows 10 版本 1607 中引入的,它只能用于面向 Windows 10 周年版(10.0;内部版本 14393)或 Visual Studio 中更高版本的项目。如果你的应用面向早期版本的 Windows 10,则必须使用 Windows.ApplicationModel.Store 命名空间而不是 Windows.Services.Store 命名空间。如需更多信息,请参阅this article

在早期版本中,等效事件是documented 成为Windows.ApplicationModel.Store 命名空间中的LicenseChanged 事件,它有以下附加说明:

LicenseChanged 事件并不总是立即发生。如果您已注册该事件,则该事件应在一个小时内触发;如果没有,它应该在 6 小时内发生。通常,建议在使用CurrentApp 进行测试时等待最多 6 小时,因为如果应用注册了事件,则很可能需要更少的时间。

另见:

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 2020-01-03
    • 2020-06-01
    • 1970-01-01
    • 2020-04-09
    • 2015-06-28
    相关资源
    最近更新 更多