检索Windows应用商店中的应用内购买价格

时间:2015-01-28 20:21:46

标签: windows-store-apps in-app-purchase windows-store

现在有人如何从Windows商店获取应用内购买/产品的价格?我已经阅读了有关应用内购买的所有文档,但我看不到方法

我有CurrentApp个对象,其中包含LicenseInformationLinkURI。后者是商店的链接所以我可以使用HttpRequest从那里抓取信息,但这似乎是一个非常难看的黑客

有谁知道如何做我想做的事情?

1 个答案:

答案 0 :(得分:1)

获取应用内购买列表是通过CurrentApp.loadListingInformationAsync完成的,它为您提供应用的ListingInformation。从那里,它的productListings集合包含您通过商店仪表板注册的所有应用内购买,无论类型(消耗品,耐用品等)。此集合是 MapView ProductListing个对象,您可以在其中找到适合在UI中显示的 formattedPrice

请注意,MapView不支持索引查找。您可以使用产品ID使用其查找方法,也可以使用以下代码迭代MapView:

var iterator = listing.productListings.first()
var product;
while (iterator.hasCurrent) {
    product = iterator.current.value;
    // Use product.productId, name, formattedPrice, and productType to generate your UI.
    iterator.moveNext();
};

请注意,价格的数值不包括在内,因为对于应用程序在计算中尝试使用它确实没有多大意义 - 可以针对具有不同货币的不同区域设置单独设置价格。这就是API为您提供格式化价格的原因 - 已经本地化 - 因此您只需在UI中显示它而无需任何其他操作。

如果您需要数字值,那么您必须以其他方式向您的应用提供该信息,例如包内置的文件或您自己的Web服务。

我在免费电子书的第20章Programming Windows Store Apps with HTML, CSS, and JavaScript, 2nd Edition中涵盖了应用内购买的所有详细信息。