我有2件商品供用户购买,因此他们可以解锁一些高级功能。
首先,我可以显示购买窗口,他们可以购买附加组件。然后,我可以存储一个局部变量以了解购买状态。
但是,如果他们卸载并重新安装了该应用程序,该如何静默地知道该附件的购买状态?我尝试过
StoreContext context = StoreContext.GetDefault();
var result = await context.RequestPurchaseAsync("9NP83X0BQP20");
if (result.Status == StorePurchaseStatus.AlreadyPurchased)
return true;
RequestPurchaseAsync方法还会弹出一个窗口,供您再次购买。
那么,如何仅使用其ID而不是漫游数据方法来静默地知道插件的购买状态?
答案 0 :(得分:0)
如何仅使用其ID(而不是漫游数据方法)静默地知道附加组件的购买状态?
您可以在Microsoft Store集合API中使用Query for product来获取客户拥有的与Azure广告客户端ID关联的应用程序的所有产品。
要使用此方法,必须创建带有https://onestore.microsoft.com
听众URI的令牌和带有https://onestore.microsoft.com/b2b/keys/create/collections
听众URI的令牌。
有关更多详细信息,请参阅正式文档:Create Azure AD access tokens和Manage product entitlements form a service。
更新
您可以将购买的附件的产品信息与当前附件的产品信息进行比较,以确定是否已购买了附件,有两种方法可以为您提供获取购买的产品信息的方法。
1。StoreContext.GetUserCollectionAsync(IIterable) Method:它返回一个StoreProductQueryResult对象,该对象包含用户购买了当前应用程序的附件的Microsoft Store信息以及相关的错误信息。
2。StoreContext.GetUserCollectionWithPagingAsync(IIterable, UInt32) Method:它返回一个StoreProductPagedQueryResult对象,该对象提供对用户购买了当前应用程序的附件的Microsoft Store信息以及相关错误信息的访问。作为结果的下一页。