什么 UWP API 引发购买事件?

Posted

技术标签:

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

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

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

【问题讨论】:

docs.microsoft.com/en-us/windows/uwp/monetize/… 您的问题没有具体说明您是如何许可您的应用程序的——是通过windows-store 还是通过flexlm 等第三方技术?请edit您的问题澄清并适当标记。 如果通过windows-store 那么也许StoreContext.OfflineLicensesChanged 是你想要的? (我自己从未尝试过。)也许还可以看到 docs.microsoft.com/en-us/windows/uwp/monetize/… 或 docs.microsoft.com/en-us/windows/uwp/monetize/…。 所有 cmets 都非常有帮助。谢谢大家! 不客气。标签 windows-store-apps 仅指 Windows 8 和 Windows 8.1 应用程序,所以我继续添加了 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 小时,因为如果应用注册了事件,则很可能需要更少的时间。

另见:

Implement a trial version of your app In-app purchases and trials. Exclude or limit features in a trial version

【讨论】:

以上是关于什么 UWP API 引发购买事件?的主要内容,如果未能解决你的问题,请参考以下文章

UWP IAP:此应用内购买项目不再可用

无论如何要获取与 UWP 中的购买相关联的 Microsoft Store 帐户电子邮件地址吗?

假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件

淘宝网页的立即购买是如何触发的。(前段技巧)

通过 api 调用在应用购买中添加 iTunes

Facebook 像素购买事件重复数据删除