购买模拟对话框未显示(CurrentAppSimulator.RequestProductPurchaseAsync)

时间:2016-02-08 13:19:39

标签: windows-8 windows-store-apps in-app-purchase windows-8.1 simulation

我正在开发一个适用于Windows 8的应用程序。过了一段时间我将项目更新到Windows 8.1,我收到一条警告,来自{{方法 CurrentAppSimulator.RequestProductPurchaseAsync(String,Boolean) 3}}已弃用。所以我开始使用它的 CurrentAppSimulator.RequestProductPurchaseAsync(String)版本,由于某种原因,购买模拟对话框根本没有出现。 CurrentAppSimulator class

之前我从未需要 WindowsStoreProxy.xml ,但以防我检查并将 IsTrial 属性设置为false - 但是,对话框没有显示, 新方法的答案 CurrentAppSimulator.RequestProductPurchaseAsync(String)始终返回 ProductPurchaseStatus :: NotPurchased

也许有人知道问题出在哪里?

1 个答案:

答案 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 时,您需要做两件事:

  1. 向用户授予产品(例如购买的商品)
  2. 通知商店,产品履行成功完成 - 使用方法 CurrentApp.ReportConsumableFulfillmentAsync(String,Guid)。确保之后返回的 FulfillmentResult FulfillmentResult :: Succeeded
  3. 完成这些步骤后,您的项目应成功购买并完成。

    查看详细说明:Enable consumable in-app product purchases

    如果您需要更多地了解每个 FulfillmentResult 对购买的意义,您可以在书中找到一个非常好的解释&#34;通用Windows应用程序使用XAML和C#释放&#34 ;亚当纳森,我在搜索这些东西时发现的。