You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取SkuDetails.getPrice()及Unity localizedPriceString返回的货币值列表?

获取SkuDetails.getPrice()/Unity localizedPriceString的货币值列表的方法

首先明确:官方并没有提供这个方法返回的货币符号/值的完整固定列表,因为返回结果完全依赖用户的Google Play商店结算区域、设备区域设置,以及Google Play当前支持的结算货币,是动态变化的。

不过你可以通过以下几种方式获取可用的货币相关信息:

  • 测试收集法:
    创建测试SKU,使用Google Play的测试账号,切换不同区域(可调整设备系统区域+Google Play账号区域,或使用合规测试环境工具),调用SkuDetails.getPrice()或Unity的localizedPriceString,收集返回的本地化价格字符串,整理对应的货币符号和格式。这种方式能得到最准确的实际返回结果。

  • 参考ISO 4217标准:
    Google Play支持的结算货币基本遵循ISO 4217货币代码标准,你可以基于这套标准的货币代码(如USD、EUR、CNY)对应货币符号。需要注意的是,getPrice()返回的是本地化后的字符串,部分地区的格式可能有差异(比如欧元在部分地区会放在金额后方),所以这只能作为参考。

  • 单独提取货币代码自行处理:
    如果你需要更可控的货币符号显示,建议不要直接依赖getPrice()的完整字符串,而是调用SkuDetails.getCurrencyCode()获取ISO 4217货币代码,再通过以下方式生成符号:

    • Android端:用java.util.Currency.getInstance(currencyCode).getSymbol()获取对应符号
    • Unity端:用System.Globalization.CultureInfo.GetCultures(CultureTypes.SpecificCultures).FirstOrDefault(c => new RegionInfo(c.LCID).ISOCurrencySymbol == currencyCode)?.Let(ci => new RegionInfo(ci.LCID).CurrencySymbol)来获取符号
      这种方式可以让你自主控制货币符号的显示逻辑,避免依赖getPrice()的固定格式。

内容的提问来源于stack exchange,提问作者hidd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 21:45:02