1. 连接到 Google Play Billing 服务失败
- 问题描述:调用
billingClient.startConnection
后,onBillingSetupFinished
方法返回的响应码不是BillingClient.BillingResponseCode.OK
。 - 可能原因
- 设备未安装 Google Play 服务或版本过低。
- 应用未在 Google Play 控制台正确配置,如未启用结算功能。
- 网络问题,无法连接到 Google Play 服务器。
- 解决方案
- 检查设备上的 Google Play 服务是否已安装且为最新版本。可以引导用户在 Google Play 商店中更新 Google Play 服务。
- 确保应用在 Google Play 控制台中已正确配置,启用了结算功能,并且应用状态为草稿、内部测试、封闭测试、开放测试或正式发布。
- 检查设备的网络连接,确保可以正常访问 Google Play 服务器。
2. 查询商品信息失败
- 问题描述:调用
billingClient.querySkuDetailsAsync()
后,onSkuDetailsResponse
方法返回的响应码不是BillingClient.BillingResponseCode.OK
,或者返回的商品列表为空。 - 可能原因
- 商品 ID 配置错误,在 Google Play 控制台中未正确设置商品。
- 应用与 Google Play 服务的连接不稳定。
- 商品处于不可用状态,如已删除或未发布。
- 解决方案
- 仔细检查代码中使用的商品 ID 是否与 Google Play 控制台中配置的一致。
- 确保应用与 Google Play 服务的连接正常,可以尝试重新连接服务。
- 检查 Google Play 控制台中商品的状态,确保商品已发布且可用。
3. 发起购买流程失败
- 问题描述:调用
billingClient.launchBillingFlow()
后,未弹出购买界面,或者返回错误响应码。 - 可能原因
- 设备未登录 Google 账号。
- 应用没有相应的权限,如
com.android.vending.BILLING
权限。 - 商品处于不可购买状态,如已购买且未消耗(对于一次性购买商品)。
- 解决