集成in_app_purchase库遇responseCode:4(item_not_available),排查后仍无法解决
解决Google Play Billing
item_not_available错误的补充排查方案 以下是你现有排查步骤之外的关键检查点:
- 确认商品与测试渠道版本关联:在Play Console的商品详情页,检查“关联的应用版本”是否包含你正在测试的渠道(内部测试/Alpha/Beta)。未关联的商品无法在对应测试版本中被查询到。
- 匹配调试构建的签名指纹:如果使用自定义调试签名密钥,需将该密钥的SHA-1指纹添加到Play Console的「设置→应用完整性→应用签名」页面。签名不匹配会导致Play Store拒绝应用访问商品数据。
- 清除Google Play Store缓存:在测试设备上,进入「设置→应用→Google Play Store→存储」,清除缓存和数据后重启设备,解决本地缓存的商品状态不同步问题。
- 核对商品类型与代码调用:检查
in_app_purchase库的调用逻辑,确保查询的商品类型(一次性购买/订阅)与Play Console中创建的商品类型完全一致。类型不匹配会直接返回item_not_available。 - 检查商品区域限制:在Play Console的商品设置里,确认测试设备所在国家/地区在商品的“可用区域”列表中。若商品仅开放特定区域,测试设备不在范围内就会触发错误。
- 等待服务器同步:商品激活、测试者添加或版本上传后,Play Store服务器需要1-2小时完成数据同步,新创建的商品尤其需要等待,不要立即测试。
- 使用专属测试链接安装应用:封闭测试场景下,测试者必须通过Play Console提供的专属测试链接安装应用,直接搜索下载的版本无法访问测试商品。
内容的提问来源于stack exchange,提问作者GÖKSU EREN
相关产品推荐
相关产品推荐

