Почему реализация onPurchasesUpdated() приводит к появлению ITEM_ALREADY_OWNED и пустому списку покупок?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Почему реализация onPurchasesUpdated() приводит к появлению ITEM_ALREADY_OWNED и пустому списку покупок?

Сообщение Anonymous »

В настоящее время я реализую покупки в приложении за виртуальные монеты, которые можно использовать.
Я использую внутреннюю тестовую версию, и моя тестовая учетная запись подключена.Запуск процесса выставления счетов инициируется кнопкой.
Однако есть несколько проблем.
Список покупок пуст, что я не считаю нормальным.

Код: Выделить всё

@Override
public void onPurchasesUpdated(BillingResult billingResult, @Nullable List
 purchases) {

if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && purchases != null) {

for (Purchase purchase : purchases) {
handlePurchase(purchase);
}

} else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) {

} else {

}
Инструкция if не будет выполняться.
Если я попытаюсь принудительно протестировать функциональность handlePurchases(), передав этот фрагмент оператору else в onPurchasesUpdated(), это приведет к ошибке ссылки на нулевой объект, поскольку он пытается выполнить итерацию по пустому списку.

Код: Выделить всё

for (Purchase purchase : purchases) {
handlePurchase(purchase);
}
Код BillingResult возвращает: ITEM_ALREADY_OWNED
Чтобы исправить это, я попытался вызвать ConsumerAsync(), как показано в коде ниже.

Код: Выделить всё

    public void handlePurchase(Purchase purchase) {
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
// Grant entitlement to the user.

ConsumeParams consumeParams =
ConsumeParams.newBuilder()
.setPurchaseToken(purchase.getPurchaseToken())
.build();

client.consumeAsync(consumeParams, consumeResponseListener);

}
}
Кроме того, я возместил все существующие заказы в системе управления заказами Play Console.
Мой вопрос: почему ошибка ITEM_ALREADY_OWNED все еще остается? и почему список покупок пуст.

Подробнее здесь: https://stackoverflow.com/questions/594 ... -owned-and
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Рекурсия Python приводит к пустому списку
    Гость » » в форуме Python
    0 Ответы
    47 Просмотры
    Последнее сообщение Гость
  • Vuetify 2->3 заменяет удаленное содержимое v-list-item-content/v-list-item-group
    Anonymous » » в форуме CSS
    0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous
  • Экран-заставка Expo: избавляемся от @drawable/splashscreen_logo
    Anonymous » » в форуме Android
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Отправка загруженного файла из JS в Python CGI всегда приводит к пустому словарю.
    Гость » » в форуме Python
    0 Ответы
    76 Просмотры
    Последнее сообщение Гость
  • Отправка загруженного файла из JS в Python CGI всегда приводит к пустому словарю.
    Гость » » в форуме Javascript
    0 Ответы
    59 Просмотры
    Последнее сообщение Гость

Вернуться в «Android»