メインコンテンツまでスキップ

旧版 Java 支持(JDK 11)

虽然我们的主 Unity Billing SDK 针对现代环境(JDK 17 及更高版本)进行了优化,但我们认识到,由于特定的构建流水线或引擎约束,某些项目仍依赖于 JDK 11

👍
自 3.3.0 版本起,已通过 MavenCentral 支持 JDK 11

3.3.0 版本起,JDK 11 已通过 MavenCentral 直接获得支持,因此不再需要手动导入 AAR 文件。我们建议迁移到最新版本并使用标准的 MavenCentral 集成。

仅当您停留在较旧的版本时,才需要下文所述的手动基于 AAR 的流程。如果您继续使用手动集成,请确保 Assets/Plugins/Android 下没有残留的旧文件,并且从 JDK 11 分支导入了正确的 AAR 文件。

为支持仍使用手动流程的项目,我们维护了一个专用分支,将分发流程从 MavenCentral 还原为手动基于 AAR 的集成


前提条件与兼容性

要求

Java 版本

JDK 11

分发方式

手动 AAR 导入 + UPM 分支

Unity 版本

Unity 2022.3 LTS
Unity 2021.3 LTS
Unity 2020.3 LTS

分支 URL

https://github.com/Aptoide/aptoide-unity-billing-sdk.git#support-jdk-11


集成步骤

按照以下步骤集成支持 JDK 11 的 Aptoide Unity Billing SDK。

1. 通过 UPM 导入 SDK

您必须在 Unity Package Manager 中定位特定的 #support-jdk-11 标签,而不是主分支。

  1. 打开您的 Unity 项目。
  2. 导航至 Window > Package Manager
  3. 点击 + 图标并选择 Add package from git URL...
  4. 粘贴以下 URL: https://github.com/Aptoide/aptoide-unity-billing-sdk.git#support-jdk-11

2. 手动部署 AAR

由于此版本不从 MavenCentral 拉取 Native SDK(以保持 JDK 11 兼容性),因此您必须手动移动 Android 二进制文件

  1. 在您的 Unity 项目窗口中,导航至 Aptoide 包文件夹: Packages/Aptoide Unity Billing SDK/Runtime/Plugins/Android
  2. 复制在该目录中找到的所有 .aar 文件。
  3. 将它们粘贴到您项目的本地文件夹中: Assets/Plugins/Android

注意: 如果 Assets/Plugins/Android 文件夹不存在,请手动创建它。

3. 修改 mainTemplate.gradle

为避免版本冲突并确保所有逻辑都由本地 AAR 处理,您必须调整 Gradle 配置。

  1. 打开您的 mainTemplate.gradle(通常位于 Assets/Plugins/Android)。
  2. 移除针对 Aptoide Native Billing SDK 的所有现有 implementation 导入。
  3. 添加 Native SDK 所需的手动依赖项。这些是必需的,因为手动 AAR 不会像 MavenCentral 那样"自行解析"传递依赖项。请确保包含 SDK 正常运行所需的标准 AndroidX 和 Material 库。

4. 配置

设置好 AAR 和 Gradle 后,请遵循标准的 Unity SDK 配置指南来初始化计费客户端并定义您的商品。


JDK 11 问题排查

  • 重复类错误: 如果您在构建期间看到"Duplicate Class"错误,请确保已从 Gradle 文件中移除了 Aptoide SDK 的 implementation 行,因为 SDK 现在由您 Plugins 文件夹中的 AAR 在本地提供。此外,请确保您已从 Aptoide Unity Billing SDK 文件夹中移除了 Plugin 文件夹及其 .meta 文件。
  • 缺少依赖项: 如果构建因"Symbol not found"错误而失败,请仔细检查您是否已手动将必要的 AndroidX 和 Material 依赖项添加到您的 mainTemplate.gradle 中。