Windows 8商店应用,如何测试应用内购买?

时间:2013-04-14 13:28:57

标签: javascript windows-store-apps winjs windows-store

我的应用是用Javascript创建的。我需要它来支持应用内购买功能解锁。

来自the documentation,看起来非常简单。但是,当我尝试实现它时。我注意到从S_OK返回CurrentAppSimulator.requestProductPurchaseAsync后,CurrentAppSimulator.licenseInformation.productLicenses.lookup(main.licenseName).isActive将不会更改为true。

然后我发现了这个答案CurrentAppSimulator.RequestProductPurchaseAsync purchasing simulation,提到了在RequestAppPurchaseAsync之前调用requestProductPurchaseAsync一次的问题。我做了,这样,我看了两次Store弹出窗口。选择S_OK两次后,isActive设置为true。但是,这种状态并不持久。第二次运行此应用程序(通过按F5进行调试)将清除此标志,并且必须再次运行整个购买过程。

答案还提到了“正确模拟”,但没有说明这个程序对于实时商店应用程序是否正确。我目前有一个Windows应用商店开发者帐户,用于应用内购买,但二进制文件尚未上传。当我尝试使用CurrentApp购买时,我收到的消息是Windows Store中不再提供该产品。

我想要一些可行的选项,以确保我的应用内购买得到正确实施。

1 个答案:

答案 0 :(得分:3)

您是否正在更新WindowsStoreProxy.xml文件?您必须这样做,否则购买永远不会被设置为活动。您不需要调用RequestAppPurchaseAsync ...只需要requestProductPurchaseAsync。这样做......

  • 以调试模式运行您的应用程序
  • 打开QuickWatch(SHIFT + F9)并输入 Windows.Storage.ApplicationData.current.roamingFolder.path和copy 价值(我是C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState
  • 浏览到该位置并打开Microsoft \ Windows Store \ ApiData目录
  • 在文本编辑器中打开WindowsStoreProxy.xml文件
  • 将CurrentApp / LicenseInformation / App / IsTrial更改为false
  • 将CurrentApp / ListingInformation / Product / MarketData / Name更改为您的唯一产品名称

应该这样做。希望有所帮助。