我使用计费客户端 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(开发人员错误),调试消息为空。而且我不知道出了什么问题。拜托,有人可以帮我找出缺少的东西。非常感谢!