应用内购买 – 如何在Windows Phone 8上获取应用内购买产品的货币?

前端之家收集整理的这篇文章主要介绍了应用内购买 – 如何在Windows Phone 8上获取应用内购买产品的货币?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
要跟踪我们的 Windows Phone 8应用程序进行的应用内购买,我们想知道在应用程序内部采购的货币.现在我们使用FormattedPrice属性知道价格,就像这样:
public static async void LoadProductListing()
{
    ListingInformation listings = await CurrentApp.LoadListingInformationAsync();
    ProductListing product = listings.ProductListings["SomeProductID"];

    String price = product.FormattedPrice;
}

这样一来,价格格式只有一个标志,比如€0,99或$0.99.对于€这是很好的,例如. $这是不够的信息:我们还不知道是美元,加拿大元,澳元还是智利比索(哪个标志也是$).我们希望使用适当的ISO 4217货币代码(如EUR,USD,CAD,AUD,CLP)或至少一个解释确切货币的符号(如美元,C $等)的信息.

在Windows 8上,可以使用ListingInformation.CurrentMarket属性获取当前市场的区域设置(因此使用的是货币),但文档中有一个注释:

Windows Phone 8
This API is not implemented and will throw an exception if called.

我们使用系统区域设置侦测不够精确:它可能不同于当前市场使用的区域设置(但是我们可能在那里有错误)!

有没有办法从Windows Phone 8应用程序中正确确定应用内购买货币?

WP8使用您的Live ID支付资料区域选择手机使用的市场,您无法通过手机上的设置进行更改.我只是碰巧知道这一点,因为我的付款资料是以某种方式设置为加拿大(我来自美国),我无法通过手机上的设置进行更改.

然而,回到原来的问题:您的手机将始终通过System.Globalization.RegionInfo.CurrentRegion报告在应用程序购买中使用的文化.因此,您可以从以下位置可靠地获取用于应用程序购买的正确货币代码

var regionInfo = System.Globalization.RegionInfo.CurrentRegion;
var currencyCode = regionInfo.ISOCurrencySymbol;

猜你在找的Windows相关文章