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

Flutter中使用in_app_purchase获取App Store分地区商品价格异常排查

解决Flutter in_app_purchase地区定价不生效的问题

针对你遇到的地区定价显示错误问题,以下是几个关键排查和解决步骤:

  • 优先使用真机测试,而非模拟器
    iOS模拟器的App Store模拟环境存在局限性,部分地区定价逻辑无法在模拟器中正常触发,建议切换到iOS真机进行沙箱测试。

  • 确保沙箱测试账户地区与目标地区一致
    定价显示是与Apple ID的地区绑定,而非设备系统地区。你需要在App Store Connect中创建印度地区的沙箱测试账户,然后在测试设备上登录该账户,而不是仅修改设备的系统地区设置。

  • 清除App Store缓存与模拟器数据

    • 真机:进入「设置」->「App Store」,退出当前登录的Apple ID,重启设备后再登录印度地区的沙箱账户。
    • 模拟器:通过Xcode菜单栏选择「Hardware」->「Erase All Content and Settings」,重置模拟器后重新配置测试环境。
  • 验证App Store Connect的定价配置
    再次确认目标商品在App Store Connect中:

    • 已为印度地区单独设置了印度卢比定价,且状态为「活跃」
    • 定价设置已保存并同步到App Store服务器(通常需要1-2小时生效,若刚修改需等待)
  • 代码层面验证地区信息
    可以在打印价格时同时输出价格地区信息,帮助定位问题:

    final ProductDetailsResponse response = await _iap.queryProductDetails(ids);
    
    for (var product in response.productDetails) {
      print('Product: ${product.title}, Price: ${product.price}, Locale: ${product.priceLocale}');
    }
    

    如果priceLocale显示的不是印度地区(如en_US),说明请求时使用的账户地区仍为美国,需要检查沙箱账户的登录状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:15:05