我创建了一个应用程序添加的应用程序内购买,并将其作为测试版上传。
以下是应用内购买的代码。
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;
}
}
安装测试版后,我点击了购买按钮。我去了购买点。
它要求安装或取消。
通过安装或取消将杀死该应用程序。
我做错了什么。有人帮忙解决这个问题????
答案 0 :(得分:2)
我过去所做的是在我的解决方案中创建了一个Mock In-App Purchase项目,以便事先对其进行测试。查看我的回答here了解更多详情。它基本上允许您在调试时设置应用内购买,然后在商店中无缝工作。
您基本上在Mock Library中设置了所有应用内购买项目,但仅在调试时使用它。不调试时,请使用实体店:
#if DEBUG
using MockIAPLib;
using Store = MockIAPLib;
#else
using Windows.ApplicationModel.Store;
#endif
这样一来,您就可以逐步完成代码并找出应用崩溃的原因。除了捕获“崩溃报告” - 请查看Little Watson,我已经实现了这一点,它的效果也很好!
希望这有帮助!