2013-07-16 85 views
0

我创建了一个应用程序,添加了应用程序内购买,并将其作为测试版上载。检查应用程序内购买信息wp8中的崩溃

这里是应用内购买代码。

 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

调试时它会失败吗?如果是这样,它会失败吗?您可以通过设置WMAppManifest.xml中的ProductID和PublisherID来匹配设备上的调试,以便与商店为您的应用程序和您的产品匹配 –

+0

现在就工作了。谢谢 – SaravanaKumar

+0

解决方案是什么?有什么问题?如果有人回答这个问题给他们道具。如果您发现解决方案发布它。帮助社区 –

回答

2

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

您基本上在Mock库中设置了所有的应用程序内购买项目,但只能在调试时使用它。如果不进行调试,使用实体店:

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

这样 - 你就可以逐步执行代码,并找出为什么应用程序崩溃。除了捕捉“崩溃报告” - 检查Little Watson,我已经实现了这一点,它也很棒!

希望这会有所帮助!