Version: 1.7
语言 : 中文
Specify Android Player or HMI Android Player command-line arguments
Deep linking on Android

将 Tuanjie 集成到 Android 应用程序中

本页说明如何使用“Tuanjie 用作库”(Used as a Library, UAAL)功能将 Tuanjie 运行时库集成到 Android 应用程序中。

使用此功能可以在应用程序中包含 Tuanjie 支持的功能(例如 3D/2D 实时渲染、3D 模型交互或 2D 迷你游戏)。Tuanjie 运行时库公开了多种控件来管理何时以及如何在应用程序中加载、激活和卸载内容。

重要提示:如果将项目升级到 Tuanjie,由于 Tuanjie 引入了 UAAL 的机制,你可能需要对 原生托管 插件进行适配,以确保它们在 Android 上正常工作。那些会修改 Gradle 清单(Manifest)的插件,需要按照 在原生 iOS/Android 应用中使用 UAAL 中介绍的方法进行 Gradle 的相应修改。

工作原理

从 Tuanjie 构建 Gradle 项目时,无需进行任何其他操作。

Tuanjie 生成的每个 Android Gradle 项目都具有以下结构:

  • tuanjieLibrary 模块中的库部分:你可以将其集成到任何其他 Gradle 项目中。该模块包含 Tuanjie 的运行时和 Player 数据。
  • launcher 模块中的轻量启动器部分:它包含应用名称和图标,是一个简单的 Android 应用程序,用于启动 Tuanjie。你可以用你自己的应用程序替换这个模块。

要将 Tuanjie 集成到另一个 Android Gradle 项目中,必须通过 settings.gradle 文件将生成的 Android Gradle 项目的 tuanjieLibrary 模块包含在您的 Android Tuanjie 项目中。

要控制播放器,请转发 Intent 以启动 Tuanjie 活动并在必要时对其进行扩展。如需了解更多信息,请参阅有关 Intent 和 Intent 过滤器 (Intents and Intent Filters) 的 Android 开发者文档。还可以使用 TuanjiePlayer Java API。

IUnityPlayerLifecycleEvents

IUnityPlayerLifecycleEvents 提供一种与 Tuanjie Player 的两个重要生命周期事件进行交互的方式:

  • Unload:当调用 Application.UnloadUnityPlayer.unload() 卸载 Tuanjie Player 时,应用会触发 IUnityPlayerLifecycleEvents.onUnityPlayerUnloaded。此时 Tuanjie Player 进入暂停状态,卸载所有场景,但保留其他内容在内存中。
  • Quit :当 Tuanjie Player 退出时,应用会调用 IUnityPlayerLifecycleEvents.onUnityPlayerQuitted。在该调用之后,运行 Tuanjie 的进程也将终止。

可将 IUnityPlayerLifecycleEvents 的实例传递到 Tuanjie Player 构造函数或者覆盖 UnityPlayerUnityPlayerActivity 子类中的方法。

限制

Tuanjie 不会控制运行时生命周期,因此 UAAL 可能并不适用于所有可能的用例。已知限制包括:

  • UAAL 仅支持全屏渲染,不支持在屏幕的一部分区域进行渲染。
  • 你不能加载或集成多个 Tuanjie 运行时实例。
  • 你可能需要对第三方插件(包括 原生插件托管插件)进行适配,以使其能够与 Tuanjie 运行时兼容。
  • Tuanjie 作为库不兼容 Xamarin 应用平台

其他资源

Specify Android Player or HMI Android Player command-line arguments
Deep linking on Android