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

使用Billing Library v6.0.1时BillingClient无法连接Play Services求助

问题分析与解决方案

核心错误点

你现在的逻辑完全搞反了:刚通过build()创建完BillingClient,还没发起任何连接请求,isReady()必然返回false,这是该类的正常状态。你不该用这个判断来决定是否调用establishConnection(),而是应该直接调用establishConnection()去发起连接,连接成功后isReady()才会变为true。

修正后的代码实现

初始化并发起连接

// 初始化BillingClient
billingClient = BillingClient.newBuilder(MainActivity.this)
        .setListener(purchasesUpdatedListener)
        .enablePendingPurchases()
        .build();

// 直接发起连接,不需要提前判断isReady()
establishConnection();

优化后的establishConnection()方法

private void establishConnection() {
    billingClient.startConnection(new BillingClientStateListener() {
        @Override
        public void onBillingSetupFinished(BillingResult billingResult) {
            // 建议用日志输出响应码,Toast显示数字不够直观
            Log.d("BillingDebug", "连接响应码: " + billingResult.getResponseCode());

            if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                // 连接成功,此时isReady()会返回true,可执行后续操作
                Toast.makeText(MainActivity.this,"Billing client连接成功",Toast.LENGTH_SHORT).show();
                // showProducts(); // 在这里调用商品查询等业务逻辑
            } else {
                Toast.makeText(MainActivity.this,"Billing client连接失败,响应码: " + billingResult.getResponseCode(),Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onBillingServiceDisconnected() {
            Toast.makeText(MainActivity.this,"Billing连接断开,正在重连",Toast.LENGTH_SHORT).show();
            // 断开后自动重连,提升用户体验
            establishConnection();
        }
    });
}

额外排查要点

如果修正逻辑后仍无法连接,检查以下几点:

  • 确认Gradle中已正确引入依赖:com.android.billingclient:billing:6.0.1
  • 测试设备安装了最新版Google Play服务,且已登录有效Google账号
  • 调试/发布版应用的签名与Google Play控制台配置的签名一致
  • 已在Google Play控制台创建应用并配置至少一个应用内商品(含测试商品)
  • 若使用测试商品,需将测试账号添加到Google Play控制台的许可测试列表中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 23:22:20