【问题标题】:In-app price format for Google AnalyticsGoogle Analytics 的应用内价格格式
【发布时间】:2013-02-07 23:30:26
【问题描述】:

我的应用包含可以购买的应用内商品。我使用billing API 检索可以购买的产品列表及其价格。 检索到的价格是一个包含货币和价格的格式化 String,例如“$2.50”。

现在我也使用Google Analytics API 来跟踪购买情况。为了发送价格,此 API 采用了一个以微为单位的 long 参数。所以我应该发送 (2.50*1000000)。

是否有 API 可以将第一个价格(从 Billing API 检索)转换为第二个价格(发送到 Analytics API)?

我当然可以自己做一个简单的字符串解析转换,但我害怕这样做会出现意外情况。例如,在某些语言环境中,价格将包含“,”而不是“.”。

编辑

一个自然的解决方案是使用 NumberFormat 将“$2.50”转换为 2.50。

Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();

但是,从 Google Play 检索到的价格字符串格式显然是手机所在国家/地区的语言环境,但 NumberFormat 会使用手机的语言环境,这不一定相同......

【问题讨论】:

  • 你找到解决办法了吗?

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


【解决方案1】:

虽然没有正式记录,但 Billing API 已经在 getSkuDetails() 响应中提供了必要的数据。

除了price 字段,您还可以检索以下内容:

price_currency_code ISO 货币代码

price_amount_micros 产品价格以微计(注:净价)

【讨论】:

  • 你在哪里看到的? getSkuDetails() 返回一个只有 mPrice 成员(字符串)的对象。
  • 没关系:请注意,这并不是指 Inventory 对象返回的 getSkuDetails()。您需要在 IabHelper 中使用 getSkuDetails()。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多