Android Market In-App-Purchase:如何获得用户支付的货币?

时间:2012-02-22 20:09:03

标签: android in-app-purchase google-play currency

我有一个使用应用内购买的Android应用,迎合了国际受众,所以我希望以不同的货币付款。当然我想用用户的本地货币显示购买的商品,但我真的不知道如何。

使用用户的区域或语言似乎是一个糟糕的指标,因为货币似乎取决于用户使用的市场帐户的区域而不是设备设置。

如何找出用户将支付的货币?

感谢。

5 个答案:

答案 0 :(得分:22)

IAB Version 3起,可购买商品的SKU详细信息包括格式化价格,其中包括用户将支付的货币(与其Google Play商店相对应的货币):

enter image description here price的值的一些示例(不是来自真实的SKU):

  • 3,99€
  • £2.99
  • $ 4.99

编辑:我已更新了SKU详细信息表,现在包含有关price_currency_code字段的信息。

答案 1 :(得分:5)

由于市场用于处理交易的汇率可能在显示价格和用户购买之间波动,因此有些难以做到。我敢说谷歌更希望你没有这样做,因为它可能会导致客户对他们大吼大叫,因为你说10美元,他们收取12美元。

你最好的选择(没有人知道如何在框架内执行此操作)是询问用户他们希望支付的货币,然后给他们一个大概的价格(我会将其列在提供的价格旁边的括号中,如“10美元[约9澳元]”)。您应该能够使用汇率API来获取它。

这有点乱,但你只需要问一次并保存偏好。如果你真的想要变得棘手,可以使用粗略的位置数据来获取它们的语言环境,并最初以这种方式填充值。

答案 2 :(得分:4)

  1. 您最初可以要求用户选择其货币(可选)。
  2. 默认以美元显示价格。为用户提供在项目选择屏幕上更改货币的选项。也许靠近显示价格的图标/按钮会打开所有货币的下拉列表。当用户从下拉列表中选择货币时,所有商品的价格都应以选定的货币显示。

答案 3 :(得分:3)

我不是那么好的主意,因为应用内结算并非由您处理,而是由市场处理。只需以美元或欧元写出价格,让用户在结账页面上以自己的货币查看购买。

http://developer.android.com/guide/market/billing/index.html

答案 4 :(得分:-3)

也许使用设备的默认语言环境?

String locale = Locale.getDefault().toString();

然后你可以做一个比较。

只是一个想法!