我们正在使用应用程序,在Android应用中使用Milkmangames原生扩展程序进行inApp购买。问题是我无法找到用户购买的产品的价格和货币。来自Google的价格采用本地化格式,这是因为我猜他们的实施不好。价格可能是5美元或10克朗,但不可能知道它是美元还是加元,瑞典克朗还是挪威克朗。
对我有用的其他选择是让市场用户正在使用,但我似乎无法找到在AIR中执行此操作的方法。
答案 0 :(得分:0)
我遇到了几乎同样的问题,试图找到获取原始价格数据和国家/地区代码的方法,以便我们可以更好地跟踪IAP数据。显然,对原生Google 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美元|货币代码:USD |符号:$ | priceClean:4.99
希望有所帮助。