UWP IAP:此应用内购买项目不再可用

Posted

技术标签:

【中文标题】UWP IAP:此应用内购买项目不再可用【英文标题】:UWP IAP : This in-app purchase item is no longer available 【发布时间】: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(它看起来和你的很相似)吗? 【参考方案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;

【讨论】:

以上是关于UWP IAP:此应用内购买项目不再可用的主要内容,如果未能解决你的问题,请参考以下文章

兑换我的促销代码时出现此错误:“您尝试购买的商品不再可用”

应用内购买在 Apple Store 中不起作用,但在沙盒中起作用

iOS应用内购买项目(IAP)

应用内购买显示警告在 iTunes 连接中不可用

iOS开发支付篇-内购(IAP)

iOS 应用内购买的促销代码