【发布时间】:2015-02-26 12:00:13
【问题描述】:
我只是想在我的演示程序上实现应用内购买。我正在执行以下代码。
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 是我在 App Store 中注册的产品 ID。在此代码中我收到以下错误
该操作试图访问有效范围之外的数据(HRESULT 异常:0x8000000B)
虽然我只是写以下代码
await CurrentAppSimulator.RequestProductPurchaseAsync("test_coins10");
它的工作完美,但编译器总是继续不购买块。
请注意产品 test_coins10 是消耗品
如果有人有不同的想法,请回复。
【问题讨论】:
标签: c# xaml windows-phone-8.1