我是第一次实施应用内结算,所以我对新购买感到有些困惑。
当您调用launchBillingFlow()时,Google Play用户界面购买屏幕 显示器。如果采购订单成功,则响应数据来自 Google Play存储在传递回来的Purchase对象中 适当的倾听者。 Google Play随后调用 onPurchasesUpdated () 将采购订单的结果传递给收件人的方法 实现PurchasesUpdatedListener接口。
onPurchasesUpdated()方法的签名是这样的:
void onPurchasesUpdated(@BillingResponse int responseCode, @Nullable List<Purchase> purchases);
我的问题:onPurchasesUpdated()
方法是否会在我的应用或仅限最新发起的购买中提供所有购买的列表?
如果它提供所有购买,我如何找到最新发起的购买?
答案 0 :(得分:1)
正如您在所提供的文档中所述,该方法会提供最新Purchase
个对象的列表,这些对象可以在您的应用或Play商店中启动。
(...)您的应用发起的购买和Play商店发起的购买都将在此处报告。
如果您查看Purchase
课程docs,就可以看到有一个名为getPurchaseTime()
的方法,您可以使用该方法检查购买的时间。这足以跟踪哪一个是最新购买的信息。
但您也可以使用该课程中的其他方法来跟踪购买情况,例如getOrderId()
。
但是,如果您要检查用户在您的应用上所做的所有购买,而不仅仅是最新的购买,请查看queryPurchases()
方法,并查看Query purchased items关于培训指南的部分。