onPurchasesUpdated未要求挂起购买成功

问题描述 投票:0回答:1

我已将我的应用程序更新为使用Android Play计费库的v2.1.0(来自2.0.1之前的版本),并且在待完成的购买完成后,我不再收到购买更新。

我构造了计费客户端,将侦听器设置为当前类,该类实现了PurchasesUpdatedListener

billingClient = BillingClient.newBuilder( getActivity() )
        .setListener( this )
        .enablePendingPurchases()
        .build();

然后我开始购买并使用“几分钟后通过缓慢的测试卡批准”

BillingFlowParams.Builder purchaseParamsBuilder = BillingFlowParams.newBuilder()
        .setSkuDetails( product );

billingClient.launchBillingFlow( getActivity(), purchaseParamsBuilder.build() );

此后,我的听众被打了电话,表明购买正在等待中:

@Override
public void onPurchasesUpdated( BillingResult billingResult, List<Purchase> purchases )
{
    int responseCode = billingResult.getResponseCode();
    if (responseCode == BillingClient.BillingResponseCode.OK)
    {
        // I get to here with a Purchase.PurchaseState.PENDING 
    }
}

但是,购买完成后,该监听器不会被调用。我将应用程序保持打开状态,并在通知栏中看到来自Play商店的通知,说购买成功。

如果在此通知之后我手动查询购买,我可以获取更新的购买,但是这似乎不是处理购买的有效方法。

有人知道我在做什么错吗,或者这个过程有改变吗?

android in-app-billing play-billing-library
1个回答
0
投票

这是Play商店应用(v17.9.17)中的问题。这里的代码是正确的,并且上面的Play Billing库的使用没有错误,即,待处理的交易完成(成功或取消)时,应调用onPurchasesUpdated

Google已隔离该问题,它将在下一次更新中解决。

有关错误报告的参考资料,可在此处找到:

https://issuetracker.google.com/issues/146480197

© www.soinside.com 2019 - 2024. All rights reserved.