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

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

я столкнулся с той же проблемой. как вы ее решили?

metis 22.05.2018 15:49

Я сейчас сталкиваюсь с этим, и это сводит меня с ума.

Kris B 27.05.2019 23:16

Посмотрите, действительно ли ваш BillingClient готов, пожалуйста, обратитесь к моему ответу в приведенной ниже теме stackoverflow.com/questions/56332090/…

MG Developer 10.08.2020 04:08
13
3
5 266
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

Как ты это исправил?

COYG 19.06.2019 07:40

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

1tSurge 24.02.2020 22:40

@ 1tSurge вы имеете в виду про номер версии приложения и код версии? или, может быть, версия зависимости биллинга, добавленная в build.gradle? Иначе где проверить?

JCarlosR 12.05.2020 03:00

Мне тоже любопытно, я столкнулся с той же проблемой и не смог ее исправить. Что вы имеете в виду под одинаковыми версиями apk и play-сервисов?

Noah-1 21.07.2020 05:50

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

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 (). Недурно!

xarlymg89 23.12.2019 13:05

Другие вопросы по теме