0

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

这是应用内购买的代码。

      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;
            }
         }

在安装 beta 版本时,我点击了购买按钮。我去购买点。

它要求安装或取消。

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

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

4

1 回答 1

2

我过去所做的是在我的解决方案中创建了一个模拟应用内购买项目,以预先测试这一点。在此处查看我的答案以获取更多详细信息。它基本上可以让您设置应用内购买以在调试时工作,然后也可以从商店无缝工作。

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

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

这样 - 您将能够单步执行您的代码并找出应用程序崩溃的原因。除了捕捉“崩溃报告”——看看Little Watson,我已经实现了这个,它也很好用!

希望这可以帮助!

于 2013-07-16T13:38:55.380 回答