什么 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.Store
的StoreContext.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 中的购买相关联的 Microsoft Store 帐户电子邮件地址吗?