我正在开发一个适用于Windows 8的应用程序。过了一段时间我将项目更新到Windows 8.1,我收到一条警告,来自{{方法 CurrentAppSimulator.RequestProductPurchaseAsync(String,Boolean) 3}}已弃用。所以我开始使用它的 CurrentAppSimulator.RequestProductPurchaseAsync(String)版本,由于某种原因,购买模拟对话框根本没有出现。 CurrentAppSimulator class
之前我从未需要 WindowsStoreProxy.xml ,但以防我检查并将 IsTrial 属性设置为false - 但是,对话框没有显示, 和新方法的答案 CurrentAppSimulator.RequestProductPurchaseAsync(String)始终返回 ProductPurchaseStatus :: NotPurchased 。
也许有人知道问题出在哪里?
答案 0 :(得分:1)
返回 NotPurchased ,因为 CurrentAppSimulator 使用的文件 WindowsStoreProxy.xml 不包含所请求的产品。您需要使用提供给应用程序用户的所有产品填充 WindowsStoreProxy.xml 。 Here are some examples, written by Microsoft
WindowsStoreProxy.xml是在此位置首次启动应用时创建的:
C:\Users\<username>\AppData\Local\Packages\<app package folder>\LocalState\Microsoft\Windows Store\ApiData\WindowsStoreProxy.xml
此外,在每次 CurrentAppSimulator.RequestProductPurchaseAsync(String)调用之后,当结果为 ProductPurchaseStatus.Succeeded 时,您需要做两件事:
完成这些步骤后,您的项目应成功购买并完成。
查看详细说明:Enable consumable in-app product purchases。
如果您需要更多地了解每个 FulfillmentResult 对购买的意义,您可以在书中找到一个非常好的解释&#34;通用Windows应用程序使用XAML和C#释放&#34 ;亚当纳森,我在搜索这些东西时发现的。