我的应用包含可以购买的应用内商品。我使用billing API来检索可以购买的产品列表及其价格。 检索到的价格是格式化的字符串,包含货币和价格,例如“$ 2.50”。
现在我也使用Google Analytics API来跟踪购买情况。为了发送价格,此API在微观中采用长参数。所以我应该发送(2.50 * 1000000)。
是否有API可以将第一个价格(从结算API中检索)转换为第二个价格(发送到Analytics API)?
当然我可以自己做一个简单的String解析转换,但如果我这样做,我会害怕意外情况。例如,在某些区域设置中,价格将包含“,”而不是“。”。
修改
一个自然的解决方案是使用NumberFormat从“$ 2.50”转换为2.50。
Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();
但是,从Google Play检索的价格字符串格式显然位于手机所在国家/地区的区域设置中,但NumberFormat会使用手机的区域设置,但不一定相同......
答案 0 :(得分:1)
虽然尚未正式记录,但Billing API已在getSkuDetails()
响应中提供了必要的数据。
除price
字段外,您还可以检索以下内容:
price_currency_code
ISO货币代码
price_amount_micros
微型产品价格(注:净价)