【问题标题】:IabHelper no longer imports android.vending.billing.IInAppBillingService after upgrading to billingclient:billing:2.1.0升级到 billingclient:billing:2.1.0 后,IabHelper 不再导入 android.vending.billing.IInAppBillingService
【发布时间】:2020-01-11 18:16:50
【问题描述】:

关于将 billingclient 升级到 2.1.0:

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

我的 IabHelper 类中突然出现无法解析符号“自动售货”错误:

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

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

如果没有,我可以并且会进行翻译,但应该预先有一个 java 版本。首先让最初的琐碎驱动 2 代码工作和调试真是太痛苦了。

【问题讨论】:

  • 我的代码中没有找到这一行,所以没有使用。
  • 同样的问题,他们只提供了 Kotlin 版本......他们甚至没有给出简单的例子就将开发人员推向新版本。

标签: java kotlin in-app-purchase in-app-billing


【解决方案1】:

我的解决方案最终是根本不关心 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();

【讨论】:

  • 你使用的是firebase后端服务器吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
相关资源
最近更新 更多