onPurchasesUpdated 未调用等待购买成功
onPurchasesUpdated not called for pending purchase success
我已将我的应用程序更新为使用 android Play 计费库的 v2.1.0(来自较早的 2.0.1 版本),并且在完成待定购买后我不再收到购买更新。
我构建我的计费客户端,将侦听器设置为当前 class,实现 PurchasesUpdatedListener
:
billingClient = BillingClient.newBuilder( getActivity() )
.setListener( this )
.enablePendingPurchases()
.build();
然后我开始购买并使用 "slow test card approves after a few minutes"
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 商店的通知说购买成功。
如果我在此通知后手动查询购买,我可以获得更新的购买,但这似乎不是处理购买的有效方法。
有谁知道我做错了什么或者这个过程有变化吗?
这是 Play 商店应用 (v17.9.17) 中的一个问题。这里的代码是正确的,上面Play Billing库的使用没有错误,即onPurchasesUpdated
应该在待处理交易完成(成功或取消)时调用。
Google 已解决该问题,将在下一次更新中修复。
错误报告的参考可以在这里找到:
我已将我的应用程序更新为使用 android Play 计费库的 v2.1.0(来自较早的 2.0.1 版本),并且在完成待定购买后我不再收到购买更新。
我构建我的计费客户端,将侦听器设置为当前 class,实现 PurchasesUpdatedListener
:
billingClient = BillingClient.newBuilder( getActivity() )
.setListener( this )
.enablePendingPurchases()
.build();
然后我开始购买并使用 "slow test card approves after a few minutes"
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 商店的通知说购买成功。
如果我在此通知后手动查询购买,我可以获得更新的购买,但这似乎不是处理购买的有效方法。
有谁知道我做错了什么或者这个过程有变化吗?
这是 Play 商店应用 (v17.9.17) 中的一个问题。这里的代码是正确的,上面Play Billing库的使用没有错误,即onPurchasesUpdated
应该在待处理交易完成(成功或取消)时调用。
Google 已解决该问题,将在下一次更新中修复。
错误报告的参考可以在这里找到: