Я использую следующее BillingClient
.
implementation 'com.android.billingclient:billing:1.2.2'
Хотя я выдал возврат, как показано ниже
Но я все еще получаю следующий ответ от BillingClient.queryPurchases
{
"orderId": "GPA.3352-2555-5719-25534",
"packageName": "com.yocto.wenote",
"productId": "note_list_promo",
"purchaseTime": 1560501011137,
"purchaseState": 0,
"purchaseToken": "djjneabakdaenkjafajbbclo.AO-J1OzbDNn5WkobYbSqLNzoBokm1F552-CqzfLQuNXK69bhxC-TnOTqdPV1RCl9T2okpSWfRD9RrE0eFhSN8glUbsOM5XUBDRnm_yK2Ohq_uyNuU17i1dc3CBhdeEn9uZCIfD3zY4tF"
}
В соответствии с документацией BillingClient.queryPurchases
Получить информацию о покупках для всех предметов, купленных вваше приложение.Этот метод использует кэш приложения Google Play Store без инициирования сетевого запроса.
Возможно, причина в этом.Я пытаюсь с другой функцией - queryPurchaseHistoryAsync
тоже не поможет.В соответствии с документацией
Возвращает самую последнюю покупку, сделанную пользователем для каждого SKU, даже если эта покупка истекла, была отменена или потреблена.
ДляqueryPurchaseHistoryAsync, нет purchaseState
, чтобы указать, что следующая покупка отменена!
{
"productId": "note_list_promo",
"purchaseToken": "djjneabakdaenkjafajbbclo.AO-J1OzbDNn5WkobYbSqLNzoBokm1F552-CqzfLQuNXK69bhxC-TnOTqdPV1RCl9T2okpSWfRD9RrE0eFhSN8glUbsOM5XUBDRnm_yK2Ohq_uyNuU17i1dc3CBhdeEn9uZCIfD3zY4tF",
"purchaseTime": 1560501011137,
"developerPayload": null
}
Google действительно должен предоставить не кэшированную версию queryPurchases
.
Есть идеи, что я сделал не так?Я не хочу, чтобы пользователи могли продолжать пользоваться платными функциями после того, как я произвел возврат.