2

我是第一次实施应用内计费,所以我对新购买有点困惑。

正如文档所述

当您调用 launchBillingFlow() 时,会显示 Google Play UI 购买屏幕。如果采购订单成功,来自 Google Play 的响应数据将存储在 Purchase 对象中,该对象会传回相应的侦听器。然后,Google Play 调用onPurchasesUpdated () 方法将采购订单的结果传递给实现了 PurchasesUpdatedListener 接口的侦听器。

onPurchasesUpdated()方法的签名是这样的:

void onPurchasesUpdated(@BillingResponse int responseCode, @Nullable List<Purchase> purchases);

我的问题:该方法是否会提供迄今为止在我的应用程序中发起的所有onPurchasesUpdated()购买的列表,还是仅提供最近发起的购买?

如果它提供所有购买,我如何找出最近发起的购买?

4

1 回答 1

1

正如您提供的文档中所述,该方法提供了最新Purchase对象的列表,这些对象是在您的应用程序或 Play 商店中启动的。

(...) 您的应用发起的购买和 Play 商店发起的购买都将在此处报告。

如果您查看Purchase文档,您会看到有一个方法被调用getPurchaseTime(),您可以使用它来检查购买时间。这足以跟踪哪一个是最新购买的信息。

但是您也可以使用该类上的其他方法来跟踪购买情况,例如getOrderId().

但是,如果您想检查用户在您的应用上进行的所有购买,而不仅仅是最近的购买,请查看queryPurchases()方法,并查看培训指南上的查询购买的项目部分。

于 2017-11-08T04:40:25.263 回答