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

Flutter使用in_app_purchase无法获取订阅计划的问题求助

解决in_app_purchase: ^3.1.1中订阅内容[id] not found的问题
  • 确认订阅商品配置准确性
    去Play Console核对订阅的basePlanId和offerId(如果使用优惠活动),确保大小写、特殊字符完全匹配,没有拼写错误。同时要确认订阅商品已发布到测试轨道(内部/封闭/开放测试均可),未发布的商品无法被客户端获取。

  • 适配订阅ID的正确格式
    in_app_purchase: ^3.1.1对应Google Play Billing Library 5.x版本,订阅ID需遵循特定格式:无优惠活动时直接使用basePlanId;有优惠活动时用basePlanId:offerId的组合格式,不要沿用旧版直接使用商品ID的方式。

    示例代码:

    final ProductDetailsResponse response = await InAppPurchase.instance.queryProductDetails({
      'your_base_plan_id', // 无优惠时的写法
      'your_base_plan_id:your_offer_id' // 带优惠时的写法
    });
    
  • 检查测试账号权限
    确保测试账号已添加到Play Console的「许可测试名单」中,且测试设备登录的是该账号。未在名单内的账号无法访问测试轨道的订阅商品,会触发ID未找到的错误。

  • 清理缓存并重新同步

    • 卸载应用,清除Google Play商店的缓存和数据
    • 重新安装应用后再次调用queryProductDetails接口
      Play商店的缓存可能导致商品信息不同步,清理后可解决这类问题。
  • 验证代码中的ID传递逻辑
    检查代码里传递的ID是否存在字符串拼接错误、多余空格或额外字符,确保传递的ID和Play Console中的配置完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:35:12