我认为这本指南应该帮助您了解如何做到这一点:
https://developer.android.com/google/play/billing/billing_library_overview
查询缓存的购买
检索
播放账单上的购买类型(SkuType.INAPP或SkuType.SUBS)
图书馆客户端。例如:
PurchasesResult purchasesResult = mBillingClient.queryPurchases(SkuType.INAPP);
由登录到设备的用户帐户进行的购买。如果
请求成功,播放计费库存储查询
生成购买对象列表。
更多信息,请参阅
对PurchasesResult对象调用getPurchasesList()方法。你呢
有关项目的相关信息,例如其购买状态或
时间。要查看以下类型的产品详细信息:
在代码中至少调用queryPurchases()两次:
每次应用程序启动时,您都可以恢复任何购买
应用程序上次停止后用户所做的更改。在你的简历中()
背景(例如,在Play Store应用程序中兑换促销代码)。
在启动和恢复时调用queryPurchases()可以保证
应用程序会发现用户可能拥有的所有购买和赎回信息
在应用程序运行时购买,而您的应用程序会因任何原因错过它
原因是,你的应用程序在下次
活动继续并调用queryPurchases()。
查询最近购买
在不启动网络请求的情况下,对Google Play Store应用程序进行访问。如果
您需要检查用户最近购买的产品
产品ID,您可以使用queryPurchaseHistoryAsync()方法
传递要处理的采购类型和PurchaseHistoryResponseListener
queryPurchaseHistoryAsync()返回
每个产品ID的用户,即使购买已过期,
取消或消费。无论何时,都可以使用queryPurchases()方法
queryPurchaseHistoryAsync()方法。你可以合并
queryPurchaseHistoryAsync(),带有一个刷新按钮,允许用户
下面的代码演示如何重写
onPurchaseHistoryResponse()方法:
mBillingClient.queryPurchaseHistoryAsync(SkuType.INAPP,
new PurchaseHistoryResponseListener() {
@Override
public void onPurchaseHistoryResponse(@BillingResponse int responseCode,
List purchasesList) {
if (responseCode == BillingResponse.OK
&& purchasesList != null) {
for (Purchase purchase : purchasesList) {
// Process the result.
}
}
} });