2

我使用计费客户端 1.0.2 库有一个正常运行的 Android 实现应用内计费,一切正常。我有一个简单的高级升级,没有订阅。

现在我尝试升级到 2.0.3,我对我的代码进行了所有必要的更改(使用官方文档、发行说明和 StackOverflow)但它不起作用。我知道我必须在三天内确认所有购买。未能正确识别购买将导致这些购买的报销。这就是我所做的。

整个购买工作流程看起来不错,行为就像库更新之前一样。但最后我的购买总是在 5 分钟后退款(使用试用帐户,所以是 5 分钟而不是 3 天)。

这是在 onPurchasesUpdated 里面:

     if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
        if (!purchase.isAcknowledged()) {

            AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();

            AcknowledgePurchaseResponseListener acknowledgePurchaseResponseListener = new AcknowledgePurchaseResponseListener() {
                @Override
                public void onAcknowledgePurchaseResponse(BillingResult billingResult) { 
                    Toast.makeText(getContext(), "Purchase acknowledged", Toast.LENGTH_LONG);
                }
            };

            mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, acknowledgePurchaseResponseListener);
        }
    }

调试器执行识别,在 onAcknowledgePurchaseResponse 中,我可以看到我的 billingResult 响应代码为 5(开发人员错误),调试消息为空。而且我不知道出了什么问题。拜托,有人可以帮我找出缺少的东西。非常感谢!

4

1 回答 1

0

将计费客户端库更新到 3.0.0 后一切正常!

于 2021-03-21T09:38:10.300 回答