Метод выставления счетов Google Play queryPurchaseHistoryAsync не получает все покупки

У меня есть 4 типа подписки в приложении, которое я разрабатываю. Два ежемесячных (один со скидкой) и два годовых (один со скидкой). Я на стадии тестирования. Когда я запрашиваю историю покупок, я не получаю все последние подписки каждого типа, как говорится в документации. А также покупки, которые я получаю, не являются последними для каждого типа SKU. У кого-нибудь была эта проблема?

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

Я проверил управление заказами в консоли Google Play и вижу покупки, а также в своем приложении Google Play, поэтому не знаю, в чем проблема?


person Lenin    schedule 05.08.2019    source источник


Ответы (1)


Трудно понять вашу ситуацию без предоставления фрагмента кода. Но вот общая реализация queryPurchaseHistoryAsync. Если у вас по-прежнему возникают проблемы, предоставьте больше контекста, например фрагмент вашего фактического кода и место, где вы звоните. Для следующего фрагмента — просто для тестирования — я делаю вызов прямо перед вызовом queryPurchases.

private fun queryPurchaseHistoryAsync(){
    playStoreBillingClient.queryPurchaseHistoryAsync(BillingClient.SkuType.SUBS){
        responseCode, purchasesList ->
        if(purchasesList.isNullOrEmpty()){
            Log.d(LOG_TAG,"history for SUBS is empty")
        }else{
            Log.d(LOG_TAG,"history subs has ${purchasesList.size} items : ${purchasesList.toString()}")
        }
    }
    playStoreBillingClient.queryPurchaseHistoryAsync(BillingClient.SkuType.INAPP){
        responseCode, purchasesList ->
        if(purchasesList.isNullOrEmpty()){
            Log.d(LOG_TAG,"history for INAPP is empty")
        }else{
            Log.d(LOG_TAG,"history INAPP has ${purchasesList.size} items : ${purchasesList.toString()}")
        }
    }
}

Также в моих случаях у меня нет проблем с получением истории покупок.

person Isai Damier    schedule 16.08.2019