【问题标题】:UWP IAP : This in-app purchase item is no longer availableUWP IAP:此应用内购买项目不再可用
【发布时间】:2016-05-08 05:28:21
【问题描述】:

我使用产品 ID“捐赠”在商店中创建了一个新的 IAP。 然后我在应用程序中向这个 IAP 发出请求,代码如下:

var purchaseResults = await CurrentApp.RequestProductPurchaseAsync("Donate");

但是,当我在 Windows 应用程序中调用该函数时,会显示一个错误消息对话框:

选择另一个项目:我的应用名称

中不再提供此应用内购买项目

我尝试拨打var listingInfo = await CurrentApp.LoadListingInformationAsync();var productListings = listingInfo.ProductListings;列表中似乎没有产品。

这是怎么发生的?谢谢!

【问题讨论】:

  • 你见过这个question(它看起来和你的很相似)吗?

标签: windows windows-store-apps windows-10 uwp


【解决方案1】:

如果您是基于 Windows SDK 14393(或更高版本)构建您的应用程序,我强烈推荐 StoreContext 类而不是 CurrentApp,StoreContext 更方便实现 IAP 操作,也易于调试。

对于您的情况,您可以像这样使用购买 api:

private readonly StoreContext context = StoreContext.GetDefault();

// you can get the StoreId of Iap product from your dashboard of Windows Dev Center
var result = await context.RequestPurchaseAsync(product.StoreId);
if (result.Status == StorePurchaseStatus.Succeeded)
{
    // successfully purchased
}
else if (result.Status == StorePurchaseStatus.AlreadyPurchased)
{
    // purchased already
}
else if (result.Status == StorePurchaseStatus.NotPurchased)
{
    // purchase progress cancelled by user
}
else if (result.Status == StorePurchaseStatus.ServerError || result.Status == StorePurchaseStatus.NetworkError)
{
    // error occured
}

您也可以这样列出您的 IAP 产品:

var result = await context.GetAssociatedStoreProductsAsync(new string[] { "Durable" });
if (result.ExtendedError != null)
{
    // error
}
else
{
    // list all durable iap product
    var products = result.Products.Values;
}

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    相关资源
    最近更新 更多