在 App Billing Library 中不提供消费 Purchase Item 后更新的 PurchaseList?
In App Billing Library doesn't provide the Updated PurchaseList after Consuming the Purchase Item?
我目前正在使用 In App Billing Library 在 App Purchase 中实施,
使用以下方法消耗购买的物品后:
mBillingClient.consumeAsync(purchaseToken, new ConsumeResponseListener() {
@Override
public void onConsumeResponse(int responseCode, String purchaseToken) {
if (responseCode == BillingClient.BillingResponse.OK) {
Toast.makeText(getApplicationContext(), "Item Consumed Successfully..." + purchaseToken, Toast.LENGTH_LONG).show();
}
}
});
break;
当我再次打开应用程序并想使用以下方法检索购买列表的列表时:
mBillingClient.queryPurchaseHistoryAsync(BillingClient.SkuType.INAPP, new PurchaseHistoryResponseListener() {
@Override
public void onPurchaseHistoryResponse(int responseCode, List<Purchase> purchasesList) {
if (responseCode == BillingClient.BillingResponse.OK) {
purchases = purchasesList;
retrieveItemList();
}
}
});
它还提供了我在列表中消费过的项目。所以,帮我找出我做错了什么来获得更新的购买清单。
谢谢
你只需要使用 queryPurchase
方法而不是 queryPurchaseHistoryAsync
如下:
mBillingClient.queryPurchase(BillingClient.SkuType.INAPP, new PurchaseHistoryResponseListener() {
@Override
public void onPurchaseHistoryResponse(int responseCode, List<Purchase> purchasesList) {
if (responseCode == BillingClient.BillingResponse.OK) {
purchases = purchasesList;
retrieveItemList();
}
}
});
这两种方法的区别在于queryPurchaseHistoryAync
会为您提供您一生中购买过的所有物品的清单,即使购买的物品已被使用;而 queryPurchase
将为您提供当前购买的商品列表。
我目前正在使用 In App Billing Library 在 App Purchase 中实施,
使用以下方法消耗购买的物品后:
mBillingClient.consumeAsync(purchaseToken, new ConsumeResponseListener() {
@Override
public void onConsumeResponse(int responseCode, String purchaseToken) {
if (responseCode == BillingClient.BillingResponse.OK) {
Toast.makeText(getApplicationContext(), "Item Consumed Successfully..." + purchaseToken, Toast.LENGTH_LONG).show();
}
}
});
break;
当我再次打开应用程序并想使用以下方法检索购买列表的列表时:
mBillingClient.queryPurchaseHistoryAsync(BillingClient.SkuType.INAPP, new PurchaseHistoryResponseListener() {
@Override
public void onPurchaseHistoryResponse(int responseCode, List<Purchase> purchasesList) {
if (responseCode == BillingClient.BillingResponse.OK) {
purchases = purchasesList;
retrieveItemList();
}
}
});
它还提供了我在列表中消费过的项目。所以,帮我找出我做错了什么来获得更新的购买清单。 谢谢
你只需要使用 queryPurchase
方法而不是 queryPurchaseHistoryAsync
如下:
mBillingClient.queryPurchase(BillingClient.SkuType.INAPP, new PurchaseHistoryResponseListener() {
@Override
public void onPurchaseHistoryResponse(int responseCode, List<Purchase> purchasesList) {
if (responseCode == BillingClient.BillingResponse.OK) {
purchases = purchasesList;
retrieveItemList();
}
}
});
这两种方法的区别在于queryPurchaseHistoryAync
会为您提供您一生中购买过的所有物品的清单,即使购买的物品已被使用;而 queryPurchase
将为您提供当前购买的商品列表。