У меня была работающая реализация 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 (ошибка разработчика), сообщение об отладке пусто. И я понятия не имею, что не так. Пожалуйста, кто-нибудь может помочь мне выяснить, чего не хватает. Большое спасибо!