Unity SDK
本文介绍如何使用 Framedash Unity SDK 自动收集性能遥测数据。
- Unity 2022.3 及以上
- .NET Standard 2.1 / .NET Framework 4.x
Unity Package Manager(推荐)
Section titled “Unity Package Manager(推荐)”- 打开 Window > Package Manager
- 选择「+」>「Add package from git URL…」
- 输入以下 URL:
https://github.com/crane-valley/framedash-unity-sdk.git如需锁定到特定版本,请在 URL 后追加版本标签:
https://github.com/crane-valley/framedash-unity-sdk.git#v0.1.0在启动时初始化一次 SDK,例如在持久化 GameObject 上的 MonoBehaviour 中初始化:
using System.Collections.Generic;using Framedash;using UnityEngine;
public sealed class GameBootstrap : MonoBehaviour{ // 在 Inspector 中设置 API 密钥,或从 ScriptableObject 或平台密钥存储中加载。 // 环境变量在移动端、主机和 WebGL 上不可用,因此不要使用 // Environment.GetEnvironmentVariable。 [SerializeField] private string _apiKey;
private void Awake() { TelemetrySDK.Initialize( apiKey: _apiKey, buildId: Application.version); }}endpointUrl 为可选项,省略时默认使用 https://ingest.framedash.dev/v1/events;如需指向本地或自托管的 ingest,请显式传入。
性能数据自动收集
Section titled “性能数据自动收集”SDK 会自动收集以下数据:
- FPS — 帧率
- Frame Time — 每帧处理时间
- Memory — 托管堆 + 原生内存使用量
发送自定义事件
Section titled “发送自定义事件”TelemetrySDK.Instance.Track( eventName: "player_death", mapId: "map_01", position: transform.position);如需附加分类属性或数值指标,可传入可选的字典:
TelemetrySDK.Instance.Track( eventName: "player_death", mapId: "map_01", position: transform.position, attributes: new Dictionary<string, string> { { "cause", "fall_damage" } }, metrics: new Dictionary<string, float> { { "health", 0f } });标识玩家(可选)
Section titled “标识玩家(可选)”默认情况下事件以匿名方式发送。玩家登录后调用 SetPlayerId,即可将后续事件与该玩家关联:
TelemetrySDK.Instance.SetPlayerId(playerId);