在Android应用中显示本地化价格

时间:2011-11-10 19:26:59

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

我正在使用应用内结算制作Android应用,并希望做两件事:

  1. 显示应用程序内的静态项目数(1个月/ 3个月/ 12个月订阅)的价格,本地化为此人的Android Market货币
  2. 更改价格而无需将整个应用程序重新提交至Android电子市场
  3. 我已经确定无法查询Android电子市场的价格,类似于查询Apple App Store的方式。话虽这么说,我愿意在我的服务器上添加一个API调用,返回我在Android Market管理员中设置的价格。

    问题就变成了 - 我如何知道显示价格的货币?有没有办法让我在运行时弄清楚用户市场会显示哪种货币,这样我就可以在新的API调用中添加一个参数并在应用程序中显示正确的货币和价格?

    提前致谢。

3 个答案:

答案 0 :(得分:3)

现在In-app billing Version 3支持此功能。

来自文档:

  

通常,您需要告知用户可以购买的产品。要查询您在Google Play中定义的应用内商品的详细信息,您的应用可以发送getSkuDetails请求。您必须在查询请求中指定产品ID列表。如果请求成功,Google Play会返回包含产品详细信息的捆绑包,其中包括产品的价格,标题,说明和购买类型。

答案 1 :(得分:2)

不是真的。您需要知道哪些国家/地区以当地货币支持价格(您可以在开发控制台中查找,不时添加新国家/地区)。然后,根据当前国家/地区(来自SIM代码等),查找本地价格并返回该值。如果没有设置本地价格,则货币会将您的基本价格转换为估算值。总而言之,这不是微不足道的,应该真正成为IAB API的一部分。如果你经历它,请开源:)

答案 2 :(得分:0)

我找到了货币conversion API,但我没有使用它的经验。如果它有效,我会考虑将ISO国家代码编码为ISO货币代码索引。 default locale对象中提供了当前的国家/地区代码。此page索引国家/地区的ISO货币代码和链接的页面具有ISO国家/地区代码。所有这些位都应该满足您的要求,除非您不知道的用户区域中的税收价格偶然增加。