Windows 10应用程序中的ProductLicense状态不正确

时间:2017-03-28 02:54:44

标签: windows-10

我在Windows 10应用程序中观察到产品许可证(应用程序内购买)的两个问题。

首先,我的一些客户抱怨他们的购买损失。我仔细验证了应用程序逻辑,我确信我已经针对各种情况采取了所有必要的预防措施:无网络连接,异常等。在所有可疑情况下,我的应用程序假定用户购买了产品,所以我确定这是ProductLicense.IsActive属性的错误结果(不正确地变为false)。 ExpirationDate不是问题,因为我的产品的持续时间是无限期的。该应用程序适用于成千上万的用户,但失败了一些(约十)。失败的次数并不多,但它确实会损害他们的体验(以及应用程序的声誉)。

我发现自己的第二个问题恰恰相反。在我的一台开发计算机(SurfaceBook)上,我开始注意到ProductLicense.IsActive = true - 即使我从未从该帐户购买过我自己的产品 - 我甚至没有在该帐户上使用任何付款方式。在调试器中,我看到IsActive属性是" true"从Windows获取后。该行为在该计算机上绝对持久,而具有相同帐户报告的其他计算机则预期IsActive = false。

我怀疑这两个问题是同一个未知原因的两个方面。

我检查许可证信息的jscript代码非常简单:

var currentApp = Windows.ApplicationModel.Store.CurrentApp;
var licenseInfo = currentApp.licenseInformation;
var isProductPurchased = licenseInfo.productLicenses.lookup("MyProduct").isActive;

我也试过用C#实现的等效代码 - 结果相同。

只有我面对这个问题吗?有工作吗?请帮忙提出建议。谢谢!

0 个答案:

没有答案