BillingClient всегда возвращает SERVICE_DISCONNECTED

Итак, у меня есть биллинговый клиент, с которым я создаю экземпляр

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 ");
        }
    });

по какой-то причине точка останова на линии древесины всегда возвращается отключенной. может ли кто-нибудь дать представление или пример того, как я это сделаю?


person 1tSurge    schedule 18.04.2018    source источник
comment
я столкнулся с той же проблемой. как вы решили это?   -  person metis    schedule 22.05.2018
comment
Я сталкиваюсь с этим прямо сейчас, и это сводит меня с ума.   -  person Kris B    schedule 28.05.2019
comment
Посмотрите, действительно ли ваш BillingClient готов. Пожалуйста, обратитесь к моему ответу в приведенной ниже теме stackoverflow.com/questions/56332090/   -  person MG Developer    schedule 10.08.2020


Ответы (2)


Я столкнулся с этой проблемой. Также обязательно запустите соединение:

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.
            }


        });
person Paolo    schedule 03.11.2018
comment
Сначала я подумал, что ваш комментарий бесполезен, однако я смог проверить для себя, что если вы получаете ответ SERVICE_DISCONNECTED, вам нужно (снова) вызвать метод startConnection(). Пальцы вверх! - person xarlymg89; 23.12.2019

Оказывается, я не использовал версию моего apk, которая была подписана с правильной нумерацией версий и тому подобное. Однажды я исправил, что смог подключиться к игровым сервисам и понять, чего я хочу.

person 1tSurge    schedule 23.05.2018
comment
Как ты это исправил? - person COYG; 19.06.2019
comment
Это просто гарантировало, что версии на сервисах apk и play были одинаковыми. У меня есть различные журналы, а что нет в приложении, поэтому просто убедитесь, что они соответствуют тому, что говорит игровая консоль. - person 1tSurge; 25.02.2020
comment
@1tSurge, вы имеете в виду номер версии приложения и код версии? или, может быть, версия биллинговой зависимости добавлена ​​​​в build.gradle? Иначе где проверить? - person JCarlosR; 12.05.2020
comment
Мне тоже интересно, я столкнулся с той же проблемой, и я не смог ее исправить. Что вы подразумеваете под одинаковыми версиями apk и play services? - person Noah-1; 21.07.2020