检索 Windows 商店中应用内购买的价格
Retrieving the price of an in-app purchase in Windows Store
现在有人知道如何从 windows 商店获取应用内购买/产品的价格吗?我已经阅读了我能找到的关于应用内购买的所有文档,但我看不出任何方法
我有一个 CurrentApp
对象,其中包含 LicenseInformation
和一个 LinkURI
。后者是商店的 link,因此我可以使用 HttpRequest 从那里抓取信息,但这似乎是一个非常丑陋的 hack
有谁知道我想做什么?
获取应用内购买列表是通过 CurrentApp.loadListingInformationAsync 完成的,它会为您提供应用的 ListingInformation。从那里开始,其 productListings 集合包含您通过商店仪表板注册的所有应用内购买,无论类型如何(消耗品、耐用品等)。该集合是一个 MapView of 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。
现在有人知道如何从 windows 商店获取应用内购买/产品的价格吗?我已经阅读了我能找到的关于应用内购买的所有文档,但我看不出任何方法
我有一个 CurrentApp
对象,其中包含 LicenseInformation
和一个 LinkURI
。后者是商店的 link,因此我可以使用 HttpRequest 从那里抓取信息,但这似乎是一个非常丑陋的 hack
有谁知道我想做什么?
获取应用内购买列表是通过 CurrentApp.loadListingInformationAsync 完成的,它会为您提供应用的 ListingInformation。从那里开始,其 productListings 集合包含您通过商店仪表板注册的所有应用内购买,无论类型如何(消耗品、耐用品等)。该集合是一个 MapView of 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。