2013-04-26 36 views
7

我想放在一起模拟购买了Windows 8的(商店)的应用程序代码。模拟一个Windows 8 Store应用程序购买

的代码非常简单,使用Windows API:

var result = await CurrentAppSimulator.RequestProductPurchaseAsync("product", true); 

// this is still false... 
var active = CurrentAppSimulator.LicenseInformation.ProductLicenses["product"].IsActive; 

第一次调用打开了,让我来模拟从购买的返回码的对话框。

,甚至当我选择S_OK,下一行仍然会检查是否许可​​是活动的,返回false。

这里有什么问题?

+0

查看答案在这里:http://stackoverflow.com/questions/15999604/windows-8-store-app-how-do-i-test-in-app-purchase – mydogisbox 2013-04-26 17:57:31

回答

11

你更新WindowsStoreProxy.xml文件?你必须这样做,否则购买永远不会被设置为活动。你并不需要调用RequestAppPurchaseAsync...只有requestProductPurchaseAsync.操作方法......

在调试模式打破任何地方 打开快速监视(SHIFT + F9)运行你的应用程序,并输入Windows.Storage.ApplicationData.current.roamingFolder.path和复制值(我的是C:\Users\jerfost\AppData\Local\Packages\{package name}\LocalState 浏览到该位置,并打开Microsoft \ Windows应用商店\ ApiData目录 打开WindowsStoreProxy.xml文件在文本编辑器 更改CurrentApp/LicenseInformation/App/IsTrial假 更改CurrentApp/ListingInformation/Product/MarketData/Name自己的独特的产品名称 应该这样做。希望帮助。

+0

IsTrial是什么杀了我。谢谢!现在工作。 – 2013-04-27 10:46:10

+0

乐意帮助你 – 2013-10-09 05:52:02

+0

什么产品编号? 你必须在产品编号更改为您独特的产品名称也一样,不是吗? – 2014-07-30 09:41:30

3

您不必每次都手动编辑XML,CurrentAppSimulator会自动执行此操作。

只是检查在WindowsStoreProxy.xml您的设置,并确保“IsTrial”设置“false'-

<LicenseInformation> 
    <App> 
     <IsActive>true</IsActive> 
     <IsTrial>false</IsTrial> 
    </App> 
    <Product ProductId="1"> 
     <IsActive>false</IsActive> 
    </Product> 
</LicenseInformation> 

记住 - 在应用内购买不试用版应用程序的工作。

相关问题