内部测试(internal testing)阶段应用in app purchase显示INR修改问题
内部测试阶段应用内购显示货币调整方案
基础配置调整(优先排查)
- 测试账号所属地区校验:Google Play/ App Store Connect 的内购货币显示优先读取测试账号绑定的支付地区,若你使用印度地区的测试账号/开发者账号默认会展示INR,将测试账号的地区修改为你要适配的目标区域,重新登录后再进入内购页面验证即可
- 设备系统地区校验:部分内购SDK会优先读取设备系统设置的地区和货币偏好,将设备的地区、语言切换到目标适配区域,清除应用缓存后重新打开应用测试
- 应用商店后台内购配置校验:
- 若为Google Play应用:进入
Monetization > Products > In-app products页面,确认内购商品是否针对目标区域设置了对应定价和货币,可点击「Add country/region」添加目标区域并设置对应货币定价后再测试 - 若为App Store应用:进入
App > In-App Purchases页面,选择对应商品后在「Prices」板块添加目标地区定价,同时确保测试用的Sandbox账号所属地区为目标区域,Sandbox环境内购货币完全由Sandbox账号地区决定,和开发者账号所在地无关
- 若为Google Play应用:进入
代码逻辑校验
- 不要硬编码货币符号或格式,直接调用内购SDK返回的本地化价格字段即可:Google Play Billing Library返回的
formattedPrice、StoreKit返回的priceLocale生成的格式化价格都会自动适配当前账号地区返回对应货币格式,无需手动转换货币单位 - 若你自行实现了价格格式化逻辑,确保调用的是系统当前Locale而非硬编码Locale:Android端不要写死
Locale("in", "IN"),使用Locale.getDefault()获取当前系统地区;iOS端不要写死Locale(identifier: "en_IN"),使用Locale.current获取当前系统地区
异常情况处理
完成上述配置后如果仍显示INR,可完全退出应用、移除当前测试账号重新登录,清除应用本地存储的内购缓存数据后重试。内部测试环境的配置变更最长可能存在24小时的延迟,刚修改完配置可等待一段时间后再测试
内容的提问来源于stack exchange,提问作者Karan Sharma
相关产品推荐
相关产品推荐

