Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 谷歌分析的应用内价格格式_Android_Google Analytics_In App Purchase_Billing - Fatal编程技术网

Android 谷歌分析的应用内价格格式

Android 谷歌分析的应用内价格格式,android,google-analytics,in-app-purchase,billing,Android,Google Analytics,In App Purchase,Billing,我的应用包含可以购买的应用内产品。我使用检索可以购买的产品列表及其价格。 检索到的价格是一个格式化的字符串,包含货币和价格,例如“$2.50” 现在我也使用它来跟踪购买情况。为了发送价格,此API采用一个long参数,单位为微秒。所以我应该发送(2.50*1000000) 是否有API将第一个价格(从计费API检索)转换为第二个价格(发送到分析API)? 当然,我可以自己做一个简单的字符串解析转换,但如果这样做,我担心会出现意外情况。例如,在某些地区,价格将包含“,”而不是“.” 编辑 自然的解

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

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

是否有API将第一个价格(从计费API检索)转换为第二个价格(发送到分析API)?

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

编辑

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


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

尽管没有正式的文档记录,但计费API已经在
getSkuDetails()
响应中提供了必要的数据

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

price\u currency\u code
ISO货币代码

price\u amount\u micros

以微秒为单位的产品价格(注:净价)

您找到解决方案了吗?您在哪里看到的?getSkuDetails()返回一个仅包含mPrice成员(字符串)的对象。Nevermind:请注意,这不是指库存对象返回的getSkuDetails()。您需要在IbaHelper中使用getSkuDetails()。
Double price = NumberFormat.getCurrencyInstance().parse(priceStr).doubleValue();