我只是想在我的演示程序中实现应用程序购买。我正在做以下代码。
Guid product1TempTransactionId;
async void BuyFirstProduct()
{
if (!LicenceInfo.ProductLicenses["test_coins10"].IsActive)
{
try
{
await CurrentAppSimulator.RequestProductPurchaseAsync("test_coins10",false);
PurchaseResults purchaseResults = await CurrentAppSimulator.RequestProductPurchaseAsync("test_coins10");
switch (purchaseResults.Status)
{
case ProductPurchaseStatus.Succeeded:
product1TempTransactionId = purchaseResults.TransactionId;
Debug.WriteLine("Sucess" + product1TempTransactionId.ToString());
// Grant the user their purchase here, and then pass the product ID and transaction ID to currentAppSimulator.reportConsumableFulfillment
// To indicate local fulfillment to the Windows Store.
break;
case ProductPurchaseStatus.NotFulfilled:
//product1TempTransactionId = purchaseResults.TransactionId;
Debug.WriteLine("Fail");
break;
case ProductPurchaseStatus.NotPurchased:
Debug.WriteLine("Not Purchase");
break;
}
}
catch (Exception e)
{
msg.Content = "" + e.ToString();
msg.Title = "Error";
msg.ShowAsync();
}
}
else
{
msg.Content = "You Already Have a This Pack";
msg.Title = "Error";
await msg.ShowAsync();
}
}
这里test_coins10是我的产品ID,它在App Store中注册。在此代码中我收到以下错误
操作尝试访问有效范围之外的数据(来自HRESULT的异常:0x8000000B)
虽然我只是写下面的代码
await CurrentAppSimulator.RequestProductPurchaseAsync("test_coins10");
它的工作完美,但编译器始终不是购买块。
请注意,产品test_coins10是消耗品
如果有任何人有任何不同的想法,请回复。
答案 0 :(得分:0)
参考: - Enable consumable in-app product purchases
为何选择例外?
您将获得该操作尝试访问有效范围(Exception from HRESULT: 0x8000000B)
此异常之外的数据,因为: -
await CurrentAppSimulator.RequestProductPurchaseAsync("test_coins10",false);
在新版本中不推荐使用此方法。因此你的例外。所以使用: -
CurrentAppSimulator.RequestProductPurchaseAsync("test_coins10");
为何选择NotPurchaseBlock?
你总是会去NotPurchaseBLock因为你不是reporting back to Store
关于消费品的履行。
这可以通过以下方式实现: -
FulfillmentResult result = await CurrentAppSimulator.ReportConsumableFulfillmentAsync("product2", product2TempTransactionId);
编辑: - '在以后再次完成requist.try时出现问题。询问大家可能会发现此错误代码有用:805a0194'
这可能是由于多种原因造成的: - 所以谷歌它已经有很多结果..
但是对于此错误代码: - 805a0194: -
希望它会有所帮助:)