【问题标题】:Reporting product fulfillment with Windows Phone 8使用 Windows Phone 8 报告产品履行情况
【发布时间】:2014-03-21 10:36:42
【问题描述】:

我的 WP8 应用有一个消耗品的应用内购买。据我了解,您必须在商品交付时向市场报告商品的履行情况。

所以我的问题是,如果我做不到会怎样?例如,如果没有互联网连接。

我看到的任何示例代码都可以检索产品列表,然后调用RequestProductPurchaseAsync,然后直接调用ReportProductFulfillment

基本上我希望两者都成功或都不成功...如果RequestProductPurchaseAsync 成功,这是否意味着向客户收费,即使我没有报告履行情况?

或者我应该检查CurrentApp.LicenseInformation 以获得相关许可证,如果IsActive 为真,那么我可以安全地假设购买成功,然后我应该报告履行情况。但是我需要一种方法来了解是否也成功了,以便我可以在需要时再试一次。

希望这是有道理的,如果有人有任何想法或可以指出我要阅读的材料的方向,我将不胜感激。谢谢。

【问题讨论】:

    标签: c# windows-phone-8 in-app-purchase in-app-billing fulfillment


    【解决方案1】:

    这就是我的做法:

    如果没有网络,你甚至不会进行购买体验或用户取消购买 RequestProductPurchaseAsync 将抛出异常,你应该抓住它并适当地处理它。如果用户购买了该商品,应立即履行。

    await CurrentApp.RequestProductPurchaseAsync(productId, false);
    if (CurrentApp.LicenseInformation.ProductLicenses[productId].IsActive)
    {
         // Report fulfillment
         CurrentApp.ReportProductFulfillment(productId);
         ------------
    }
    

    【讨论】:

      【解决方案2】:

      而不是检查许可证IsActive 你可以做的是:

      PurchaseResults receipt = await CurrentApp.RequestProductPurchaseAsync(pID);
      string status = receipt.Status.ToString();
      if(status == "succeeded")
      {
       // do your stuff
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        • 2014-08-20
        相关资源
        最近更新 更多