首页 > 解决方案 > 如何使用最新版本的计费客户端正确导入 BillingResponse (billing:2.0.1)

问题描述

我正在将我的 android billing api 版本从 1.2.2 升级到 2.0.1。但是现在我导入的 '''BillingResponse''' api 正在返回一个错误。如何正确导入版本 2.0.1 的 BillingResponse?

我在 Android Studio 中使用 gradle。

我尝试过: - 清理并重建我的项目 - 关闭应用程序并重新打开 - 重新启动我的机器 - 文件 > 将项目与 gradle 文件同步

到目前为止,这些都不适用于 2.0.1,但是当我回到 1.2.2 版本的 android 计费 API 时,它又可以工作了!我找不到任何有关 BillingResponse 已被弃用的文档,所以我希望它即使使用更新的 api 也能工作


我相关的 gradle 依赖项:

dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation project(':libcocos2dx')
  implementation 'com.google.android.gms:play-services-games:17.0.0'
  implementation 'com.google.android.gms:play-services-auth:16.0.1'
  implementation 'com.android.billingclient:billing:2.0.1'

我在实现 PurchasesUpdatedListener 的 BillingProvider.java 中的导入语句:

import com.android.billingclient.api.BillingClient;
import com.android.billingclient.api.BillingClient.BillingResponse;
import com.android.billingclient.api.BillingClient.FeatureType;
import com.android.billingclient.api.BillingClient.SkuType;

^ 请注意,除了 .BillingResponse 之外,所有其他导入都在这里工作!

我希望 BillingResponse 在 2.0.1 中仍然可用,但现在我已经升级了它似乎找不到它......

标签: javaandroidgradlein-app-billing

解决方案


检查https://developer.android.com/google/play/billing/billing_library_releases_notes

计费结果返回值

以前返回 BillingResponse 整数值的 API 现在返回 BillingResult 对象。BillingResult 包含 BillingResponse 整数以及可用于诊断错误的调试字符串。调试字符串使用 en-US 语言环境,并不打算向最终用户显示。


推荐阅读