升级到 billingclient:billing:2.1.0 后,IabHelper 不再导入 android.vending.billing.IInAppBillingService

IabHelper no longer imports android.vending.billing.IInAppBillingService after upgrading to billingclient:billing:2.1.0

关于将计费客户端升级到 2.1.0:

implementation 'com.android.billingclient:billing:2.1.0'//from 2.0.1

我的 IabHelper class:

突然出现无法解析符号 'vending' 的错误

我不得不返回 billing:2.0.1 以防止这种情况发生。我注意到从应用程序计费文档 https://github.com/android/play-billing-samples/tree/master/TrivialDrive_v2 到 Trivial Drive 2 的 link 现在给出了“404”找不到错误。通过 githup 挖掘我看到 Trivail Drive 2 已存档,现在有一个新的 Kotlin 示例,'TrivialDriveKotlin'。

最新的计费代码是否不再支持应用内计费的 Trivial Drive 2 实现?某处是否有 java 版本的 TrivialDriveKotlin 代码?

如果没有,我可以并且会进行翻译,但应该预先提供 java 版本。首先让原始的琐碎驱动器 2 代码工作和调试是一件很痛苦的事情。

我的解决方案最终是根本不理会 Trivial Drive 示例。目前的实现很简单,直接从这里开始实现https://developer.android.com/google/play/billing/billing_library_overview

从一开始就棘手的部分是这一行:

billingClient = BillingClient.newBuilder(activity).setListener(this).build();

在同一行中同时使用 'activity' 和 'this' 很奇怪,因为您通常会将 'this' 替换为 'activity'。如果这些设置不正确,您将收到编译或运行时错误。更好的是:

billingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {...}).build();

PurchasesUpdatedListener puchaselistener;
puchaselistener = new PurchasesUpdatedListener() {...}
billingClient = BillingClient.newBuilder(this).setListener(purchaselistener).build();