2013-07-16 84 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,我已經實現了這一點,它也很棒!

希望這會有所幫助!