Обновление библиотеки биллинга Google Play до версии 2 не работает, покупка всегда возвращается - PullRequest
1 голос
/ 03 октября 2019

У меня была работающая реализация Android в биллинге, использующая библиотеку биллинг-клиента 1.0.2, и все работало нормально. У меня есть простое премиум-обновление без подписок.

Теперь я попытался перейти на 2.0.3, я внес все необходимые изменения в свой код (используя официальную документацию, заметки о выпуске и StackOverflow), и он нет работа. Я знаю, что должен признать все покупки в течение трех дней. Неправильное распознавание покупок приведет к возмещению этих покупок. И это то, что я сделал.

Весь рабочий процесс покупки выглядит нормально, поведение такое же, как и до обновления библиотеки. Но в конце концов моя покупка всегда возвращается через 5 минут (с использованием пробной учетной записи, то есть 5 минут вместо 3 дней).

это внутри onPurchasesUpdated:

     if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
        if (!purchase.isAcknowledged()) {

            AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();

            AcknowledgePurchaseResponseListener acknowledgePurchaseResponseListener = new AcknowledgePurchaseResponseListener() {
                @Override
                public void onAcknowledgePurchaseResponse(BillingResult billingResult) { 
                    Toast.makeText(getContext(), "Purchase acknowledged", Toast.LENGTH_LONG);
                }
            };

            mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, acknowledgePurchaseResponseListener);
        }
    }

Отладчиквыполняет распознавание и в onAcknowledgePurchaseResponse я вижу, что мой код ответа billingResult равен 5 (ошибка разработчика), сообщение об отладке пусто. И я понятия не имею, что не так. Пожалуйста, кто-нибудь может помочь мне выяснить, чего не хватает. Большое спасибо!

...