检查应用程序内购买导致wp8崩溃

时间:2013-07-16 05:03:05

标签: windows-phone-8 in-app-purchase

我创建了一个应用程序添加的应用程序内购买,并将其作为测试版上传。

以下是应用内购买的代码。

      Private async void Purchase()
      {
        LicenseInformation licenseInformation = CurrentApp.LicenseInformation;
            string str;
            try
            {
                var listing = await CurrentApp.LoadListingInformationAsync();
                var _price = listing.FormattedPrice;
                // start product purchase
                await CurrentApp.RequestProductPurchaseAsync("FeatureName", false);

                ProductLicense productLicense = null;
                if (CurrentApp.LicenseInformation.ProductLicenses.TryGetValue("FeatureName", out productLicense))
                {
                    if (productLicense.IsActive)
                    {
                        MessageBox.Show("Product purchased");

                        CurrentApp.ReportProductFulfillment("FeatureName");
                         ProductPurchased();       // It display product purchased & trigger full version
                         return;
                    }
                    else
                    {
                        str = "Purchase failed";
                       ShowErrorPopup(str); // It shows error msg. purchase failed.
                       return;
                    }
                }
         }
            catch (Exception)
            {
                str = "Purchase failed. Check internet connection and try again";
                ShowErrorPopup(str);
                return;
            }
         }

安装测试版后,我点击了购买按钮。我去了购买点。

它要求安装或取消。

通过安装或取消将杀死该应用程序。

我做错了什么。有人帮忙解决这个问题????

1 个答案:

答案 0 :(得分:2)

我过去所做的是在我的解决方案中创建了一个Mock In-App Purchase项目,以便事先对其进行测试。查看我的回答here了解更多详情。它基本上允许您在调试时设置应用内购买,然后在商店中无缝工作。

您基本上在Mock Library中设置了所有应用内购买项目,但仅在调试时使用它。不调试时,请使用实体店:

#if DEBUG
using MockIAPLib;
using Store = MockIAPLib;
#else
using Windows.ApplicationModel.Store;
#endif

这样一来,您就可以逐步完成代码并找出应用崩溃的原因。除了捕获“崩溃报告” - 请查看Little Watson,我已经实现了这一点,它的效果也很好!

希望这有帮助!