我有一个使用应用内购买的Android应用,迎合了国际受众,所以我希望以不同的货币付款。当然我想用用户的本地货币显示购买的商品,但我真的不知道如何。
使用用户的区域或语言似乎是一个糟糕的指标,因为货币似乎取决于用户使用的市场帐户的区域而不是设备设置。
如何找出用户将支付的货币?
感谢。
答案 0 :(得分:22)
自IAB Version 3起,可购买商品的SKU详细信息包括格式化价格,其中包括用户将支付的货币(与其Google Play商店相对应的货币):
price
的值的一些示例(不是来自真实的SKU):
编辑:我已更新了SKU详细信息表,现在包含有关price_currency_code字段的信息。
答案 1 :(得分:5)
由于市场用于处理交易的汇率可能在显示价格和用户购买之间波动,因此有些难以做到。我敢说谷歌更希望你没有这样做,因为它可能会导致客户对他们大吼大叫,因为你说10美元,他们收取12美元。
你最好的选择(没有人知道如何在框架内执行此操作)是询问用户他们希望支付的货币,然后给他们一个大概的价格(我会将其列在提供的价格旁边的括号中,如“10美元[约9澳元]”)。您应该能够使用汇率API来获取它。
这有点乱,但你只需要问一次并保存偏好。如果你真的想要变得棘手,可以使用粗略的位置数据来获取它们的语言环境,并最初以这种方式填充值。
答案 2 :(得分:4)
答案 3 :(得分:3)
我不是那么好的主意,因为应用内结算并非由您处理,而是由市场处理。只需以美元或欧元写出价格,让用户在结账页面上以自己的货币查看购买。
http://developer.android.com/guide/market/billing/index.html
答案 4 :(得分:-3)
也许使用设备的默认语言环境?
String locale = Locale.getDefault().toString();
然后你可以做一个比较。
只是一个想法!