跳转至

Unity 应用接入


通过收集 Unity 应用的指标数据,以可视化方式分析应用性能。

阅读路径

前置条件

注意

若已开通 RUM Headless 服务,前置条件已自动配置,可直接接入应用。

应用接入

  1. 进入 用户访问监测 > 新建应用 > Android/iOS
  2. 分别为 Unity Android 和 Unity iOS 创建两个应用,以便分别接收来自 Android 和 iOS 平台的 RUM 数据
  3. 为每个平台的应用输入对应的应用名称和应用 ID
  4. 选择应用接入方式:

    • 公网 DataWay:直接接收 RUM 数据,无需安装 DataKit 采集器
    • 本地环境部署:满足前置条件后接收 RUM 数据

安装

源码地址:https://github.com/GuanceCloud/datakit-unity

Demo 地址:https://github.com/GuanceCloud/datakit-unity/blob/dev/Assets/Scenes

  1. 下载最新 ft-sdk-unity.unitypackage
  2. 通过 Assets -> Import Package -> Custom Package... 导入 ft-sdk-unity.unitypackage
  3. 添加 json 解析第三方库 "com.unity.nuget.newtonsoft-json",可以在 Package Manager -> Add Package by name ... 中完成
  4. 将 FTSDK.prefab 拖拽至第一个场景页面,并在 FTSDK.cs 中 _InitSDK 方法内初始化 SDK
  5. 将 FTViewObserver.prefab 拖拽至其他场景页面,用于监听页面 View 生命周期,以及应用休眠和唤醒
  6. 通过 Application.logMessageReceived 监听并转换 Unity 崩溃数据和普通日志数据,示例请参考 快速开始 与 RUM 手动埋点
Assets/Plugins
├── Android
│   ├── FTUnityBridge.java                // Android bridge
│   ├── InnerClassProxy.java              // Android Inner Setting Proxy
│   ├── ft-sdk-release.aar                // Android SDK
│   ├── gson-2.8.5.jar                    // Android SDK 依赖第三方库
├── iOS
│   ├── FTMobileSDK.xcframework           // iOS SDK
│   ├── FTUnityBridge.mm                  // iOS bridge
├── FTSDK.cs                              // FTSDK.prefab 绑定脚本
├── FTSDK.prefab                          // SDK 初始化预制件
├── FTUnityBridge.cs                      // Unity bridge 桥接 iOS Android 等平台方法
├── FTViewObserver.cs                     // FTViewObserver.prefab 绑定脚本
├── FTViewObserver.prefab                 // View 页面监听预制件
├── UnityMainThreadDispatcher.cs          // UnityMainThreadDispatcher.prefab 绑定脚本
├── UnityMainThreadDispatcher.prefab      // 主线程消费队列预制件
  • 如果原生 Android 和 iOS 工程已集成原生 SDK,需要注释 _InitSDK 方法,避免重复设置;具体场景请参考 原生与 Unity 混合开发
  • iOS Plugin Inspector 设置:FTMobileSDK.xcframework 是动态库,需要勾选 Add to Embedded Binaries。选中此选项后,Unity 将设置 Xcode 项目选项,从而将插件文件复制到最终应用程序包。

unity_ios_plugin_embedded

如果已经集成原生 SDK,Android 的 gson-2.8.5.jar、ft-sdk-release.aar 以及 iOS 的 FTMobileSDK.framework 可以从 Unity 项目中移除。
Android 的 OkHttp 请求和启动耗时功能需要配合 ft-plugin 使用,详细配置请见 Android SDK。

初始化说明

最小初始化示例请阅读 快速开始。

完整 SDKConfig 参数说明请阅读 SDK 初始化。

详细配置入口

高级场景

常见问题

添加局变量避免冲突字段

为了避免自定义字段与 SDK 数据冲突,建议标签命名添加 项目缩写 的前缀,例如 custom_tag_name。项目中使用 key 值可查询源码。SDK 全局变量中出现与 RUM、Log 相同变量时,RUM、Log 会覆盖 SDK 中的全局变量。

其他

文档评价

文档内容是否对您有帮助?