コンテンツにスキップ

Unity SDK

Framedash Unity SDK を使用して、パフォーマンステレメトリを自動収集する方法を説明します。

  • Unity 2022.3 以上
  • .NET Standard 2.1 / .NET Framework 4.x
  1. Window > Package Manager を開く
  2. 「+」 > 「Add package from git URL…」を選択
  3. 以下の URL を入力:
https://github.com/crane-valley/framedash-unity-sdk.git

特定のリリースに固定するには、バージョンタグを付与します:

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
{
// API キーは Inspector で設定するか、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 — マネージドヒープ + ネイティブメモリ使用量
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 } });

デフォルトではイベントは匿名で送信されます。プレイヤーのログイン後に SetPlayerId を呼び出すと、以降のイベントがそのプレイヤーに関連付けられます:

TelemetrySDK.Instance.SetPlayerId(playerId);