【问题标题】:BillingClient always returns SERVICE_DISCONNECTEDBillingClient 始终返回 SERVICE_DISCONNECTED
【发布时间】:2018-09-29 05:06:04
【问题描述】:

所以我有一个计费客户端,我用它来实例化

billingClient = BillingClient.newBuilder(this).setListener(this).build();

然后我打电话给

billingClient.startConnection(new BillingClientStateListener() {
        @Override
        public void onBillingSetupFinished(int responseCode) {
            //TODO: use this for stuff
            com.android.billingclient.api.Purchase.PurchasesResult result;
result = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
    Timber.d(result.toString());

        }

        @Override
        public void onBillingServiceDisconnected() {
            //TODO: use this for stuff
            Timber.d("something went wrong ");
        }
    });

无论出于何种原因,木材线上的断点总是断开连接。谁能提供我将如何做到这一点的见解或示例?

【问题讨论】:

  • 我遇到了同样的问题。你是怎么解决的?
  • 我现在遇到了这个问题,这让我发疯了。
  • 看看你的BillingClient是否真的准备好了,请参考我在下面线程stackoverflow.com/questions/56332090/…的回答

标签: android android-billing play-billing-library


【解决方案1】:

我遇到了这个问题。 还要确保启动连接:

mBillingClient = BillingClient.newBuilder(mContext).setListener(purchasesUpdatedListener).build();

        mBillingClient.startConnection(new BillingClientStateListener() {
            @Override
            public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponseCode) {
                if (billingResponseCode == BillingClient.BillingResponse.OK) {

                    Log.d(TAG, "onBillingSetupFinished: BillingClient.BillingResponse.OK ");

                }


            }
            @Override
            public void onBillingServiceDisconnected() {
                // Try to restart the connection on the next request to
                // Google Play by calling the startConnection() method.
            }


        });

【讨论】:

  • 起初我认为您的评论没有帮助,但是我已经能够自己检查,如果您收到 SERVICE_DISCONNECTED 响应,那么您需要(再次)调用 startConnection() 方法.竖起大拇指!
【解决方案2】:

原来我没有使用我的 apk 版本,该版本使用正确的版本编号等进行了签名。一旦我修复了这个问题,我就可以连接到播放服务并弄清楚我想要什么。

【讨论】:

  • 你是怎么解决这个问题的?
  • 只是确保 apk 和播放服务上的版本控制是相同的。我有各种日志记录以及应用程序中没有的内容,因此只需确保与游戏控制台所说的相符
  • @1tSurge 你的意思是关于应用程序的版本号和版本代码?或者可能是在build.gradle 中添加的计费依赖版本?否则,你在哪里检查?
  • 我也很好奇这个问题,我遇到了同样的问题,一直没能解决。 apk 和播放服务版本控制相同是什么意思?
【解决方案3】:

如果您使用自定义 rom 或 root 设备,它可能无法正常工作。

运行已预安装 Google Play 客户端应用程序的系统映像。 如果系统映像中未预装 Google Play,您的应用程序将无法与 Google Play 许可服务器通信。

https://developer.android.com/google/play/licensing/setting-up

【讨论】:

    猜你喜欢
    • 2022-08-09
    • 2016-05-31
    • 2015-08-15
    • 2012-03-18
    • 2011-05-09
    • 2016-11-04
    • 2016-07-28
    • 2011-11-30
    • 2010-11-08
    相关资源
    最近更新 更多