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);