【发布时间】:2013-06-11 07:57:26
【问题描述】:
我正在为支持多个国家/地区的应用实施应用内购买。
应用内计费版本 3 API claims that:
无需进行货币转换或格式化:报告价格 使用用户的货币并根据他们的区域设置格式。
这是actually true,因为skuGetDetails() 负责所有必要的格式。响应包含一个名为price 的字段,其中包含
商品的格式化价格,包括其货币符号。价格不含税。
但是,我需要 ISO 4217 货币代码(如果我知道商店区域设置可以检索)和实际的非格式化价格(最好是浮点或十进制变量),以便我自己进行进一步的处理和分析。
解析skuGetDetails() 的返回值不是一个可靠的想法,因为许多国家/地区共享相同的货币符号。
如何使用 In-App Billing Version 3 API 获取应用内购买的 ISO 4217 货币代码和非格式化价格?
【问题讨论】:
-
帮我理解你为什么需要这个? .. //顺便提一句。据我所知,您可以在开发者控制台中为每个国家/地区声明不同的价格..
-
@AlexanderSidikov:我需要这个来对应用内购买信息进行分析。正如接受的答案所述,目前这是不可能的,所以这回答了我的问题。我不知道为什么要为这个问题设置赏金......
-
@AlexanderSidikov:我们的 IAP 分析系统完全独立于实际的 IAP 系统。我们在整个组织中对多个平台上的多个产品使用相同的分析系统。如果将信息直接从客户端设备发送到分析服务器,那么收集信息要比为每个平台的每个产品实施定制解决方案要容易得多。有可能,但不实用。例如,在 iOS 中,您可以在
SKProduct.priceLocale中获取商店的区域设置,然后您可以使用objectForKey:NSLocaleCurrencyCode获取货币代码。 -
@AlexanderSidikov:事实上,获取商店区域设置以及从商店区域设置生成货币代码的方法(就像在 iOS 中一样)将是最佳选择。您可以将语言环境用于其他花哨的东西,例如数字和日期格式,然后您最终可以像 API 一样使用它来生成格式化的价格。
标签: android in-app-purchase in-app-billing