Google Play结算方法“ queryPurchaseHistoryAsync”未获得所有购买

时间:2019-08-05 23:41:54

标签: android google-play android-billing

我正在开发的应用程序中有4种订阅类型。每月两次(一次折扣)和每年两次(一次折扣)。我正在测试中。当我询问购买历史记录时,我并没有获得文档中所述的每种类型的所有最新订阅。而且我得到的购买不是每种SKU类型的鞋the。有人遇到这个问题吗?

这给了我宽限期的问题,因为我没有最后一次购买商品,所以我没有得到更新的到期时间。

我检查了Google Play控制台的订单管理,并在我的Google Play应用中看到了购买的商品,所以我不知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

不提供代码段就很难理解您的情况。但是,这是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()}")
        }
    }
}

在我的情况下,我也没有任何购买历史记录。