我正在尝试使用'com.android.billingclient:billing:2.0.3'
库实施应用内购买。
该应用已在内部测试版中发布,并且具有一个被管理产品和一个测试人员(我的另一个帐户),我设法启动了计费流程并购买了该产品,但我不承认也不使用该产品。购买,尽管现在responseCode
始终为ITEM_ALREADY_OWNED
,但我认为,如果5分钟之内未确认购买(对于测试人员帐户),该购买将被退还。为什么不是呢?
第二个问题是,我正在尝试使用该产品,以便可以使用我唯一的测试者帐户继续执行该实施,这是onPurchasesUpdated
函数
override fun onPurchasesUpdated(
billingResult: BillingResult?, purchases: MutableList<Purchase>?) {
val resCode=billingResult!!.responseCode
println(resCode) // prints 7 i.e ITEM_ALREADY_OWNED
println(purchases!!.size) // nullPointerException
}
购买清单为空,我做错了什么?如果您需要更多详细信息,请告诉我,谢谢。
我有相同的错误(我使用的是Java,因此代码略有不同)
@Override
public void onPurchasesUpdated(BillingResult billingResult, @Nullable List<Purchase> list) {
在我的情况下,list
为空,所以我所做的只是叫queryPurchases()
以再次加载购买的商品
List<Purchase> list2 = billingClient.queryPurchases(BillingClient.SkuType.INAPP).getPurchasesList();
创建billingClient在documentation中>