我的应用程序是用Javascript创建的。我需要它支持应用内购买以解锁功能。
从文档上看,似乎很简单。但是,当我尝试实现它时,我发现在从CurrentAppSimulator.requestProductPurchaseAsync
返回S_OK
后,CurrentAppSimulator.licenseInformation.productLicenses.lookup(main.licenseName).isActive
不会改为true。
然后我发现这个答案:CurrentAppSimulator.RequestProductPurchaseAsync purchasing simulation,提到了一些关于在调用requestProductPurchaseAsync
之前先调用RequestAppPurchaseAsync
的内容。我确实这样做了,并且这种方式下,我看到商店弹出窗口两次。选择两次S_OK
后,isActive
被设置为true
。然而,这个状态不是持久的。第二次运行此应用程序(通过按F5进行调试)将清除此标志,整个购买过程必须再次运行。
答案还提到了“正确模拟”的问题,但没有提及这个过程是否适用于实际的商店应用程序。我目前有一个为应用内购买配置好的Windows商店开发人员帐户,但是还没有上传二进制文件。当我尝试使用CurrentApp
购买时,显示“该产品从Windows商店中不再可用”的消息。
我想要一些可行的选项来确保我的应用内购买被正确实现。