0

我们的应用程序使用 Milkmangames 原生扩展在 Android 应用程序中进行应用内购买。问题是我找不到用户购买的产品的价格和货币。来自 Google 的价格采用本地化格式,我猜这是由于他们方面的实施不当造成的。价格可以是 5 美元或 10 克朗,但无法知道是美元还是加元,瑞典克朗还是挪威克朗。

对我有用的其他选项是让市场用户使用,但我似乎无法找到在 AIR 中执行此操作的方法。

4

1 回答 1

0

我遇到了几乎相同的问题,试图找到一种方法来获取原始价格数据和国家代码,以便我们可以更好地跟踪 IAP 数据。显然,对于原生谷歌 IAB 扩展有一个长期的功能请求来支持这样的东西:https ://code.google.com/p/marketbilling/issues/detail?id=93

值得庆幸的是,AS3 本身提供了一个接口来获取这些信息(如果您有自己的 ANE 经验,那么原生 Android 也是如此)。下面是 AS3 中的一个示例,它应该能够根据您从 ANE 获得的本地化价格格式中的信息为您提供所需的内容。

var price:String = "$4.99";
var defaultLocaleID:LocaleID = new LocaleID(LocaleID.DEFAULT);
var currencyFormatter:CurrencyFormatter = new CurrencyFormatter(defaultLocaleID.name);
var currencyCode:String = currencyFormatter.currencyISOCode;
var currencySymbol:String = currencyFormatter.currencySymbol;
var priceClean:Number = currencyFormatter.parse(price).value;
trace( "CURRENCY TEST: price: " + price + " | currency code: " + currencyCode + " | symbol: " + currencySymbol + " | priceClean: " + priceClean );

我自己(在美国)的预期输出如下:

货币测试:价格:4.99 美元 | 货币代码:美元 | 符号:$ | 价格清洁:4.99

希望有帮助。

于 2014-04-07T21:58:49.500 回答