コンテンツにスキップ

RUM 構成

RUM 初期化構成

FTUnityBridge.InitRUMConfig(new RUMConfig()
{
    androidAppId = "androidAppId",
    iOSAppId = "iOSAppId",
    sampleRate = 0.8f,
});
フィールド 型 必須 説明
androidAppId string はい RUM の appid を設定することで、RUM の収集機能が有効になります。appid の取得方法
iOSAppId string はい RUM の appid を設定することで、RUM の収集機能が有効になります。appid の取得方法
sampleRate float いいえ サンプルレート。範囲は [0,1] で、0 は収集しないこと、1 は全収集を意味し、デフォルト値は 1 です。適用範囲は同一の session_id におけるすべての View、Action、LongTask、Error データです
sessionOnErrorSampleRate float いいえ エラー収集率を設定します。セッションが sampleRate でサンプリングされなかった場合でも、セッション中にエラーが発生すると、エラー発生前 1 分間のデータを収集できます。デフォルト値は 0 です
enableNativeUserAction boolean いいえ Native Action トラッキング(Button のクリックイベント)を行うかどうか。デフォルトは false で、Android のクラウドビルドには対応していません
enableNativeUserResource boolean いいえ Native Resource を自動トラッキングするかどうか。デフォルトは false で、Android のクラウドビルドには対応していません。iOS で有効にすると、システム API から発行された resource も収集されるため、データの重複収集を防ぐために iOS 側の手動収集を無効にしてください
enableNativeUserView boolean いいえ Native View を自動トラッキングするかどうか。デフォルトは false です
errorMonitorType string/array いいえ エラーモニタリングの補足タイプ:all、battery、memory、cpu。デフォルトでは設定されません
deviceMonitorType string/array いいえ ページモニタリングの補足タイプ:all、battery(Android のみ対応)、memory、cpu、fps。デフォルトでは設定されません
detectFrequency string いいえ ページモニタリングの頻度:normal(デフォルト)、frequent、rare
globalContext object いいえ カスタムグローバルパラメータ。特別な key:track_id(トラッキング機能用)
enableResourceHostIP boolean いいえ リクエスト先のドメインアドレスの IP を収集するかどうか。enableNativeUserResource = true の場合のデフォルト収集にのみ影響します
enableTrackNativeCrash boolean いいえ Android Java Crash と OC/C/C++ のクラッシュモニタリングを有効にするかどうか。デフォルトは false です
enableTrackNativeAppANR boolean いいえ Native ANR モニタリングを有効にするかどうか。デフォルトは false です
enableTrackNativeFreeze boolean いいえ Native Freeze を自動トラッキングするかどうか。デフォルトは false です
nativeFreezeDurationMs number いいえ Native Freeze のカクつきを収集する閾値を設定します。範囲は [100,) で、単位はミリ秒です。iOS のデフォルトは 250ms、Android のデフォルトは 1000ms です
rumDiscardStrategy string いいえ 破棄ポリシー:discard は新しいデータを破棄(デフォルト)、discardOldest は古いデータを破棄します
rumCacheLimitCount number いいえ ローカルキャッシュの最大 RUM エントリ数制限 [10_000,)。デフォルトは 100_000 です

RUM 手動トラッキング

Unity SDK は現在、主に手動のメソッド呼び出しによってカスタム RUM データ収集を実現します。

Action

StartAction と AddAction の使い分け
  • StartAction は内部で Action の所要時間を自動計算し、計算中は近くで発生した Resource、LongTask、Error データとの関連付けを試みます。また、100 ms の頻繁なトリガー防止保護が設定されているため、ユーザー操作タイプのデータに推奨されます。
  • 頻繁に呼び出す必要がある場合は、AddAction を使用してください。AddAction で報告された Action は StartAction と競合せず、現在の Resource、LongTask、Error データとも関連付けられません。

使用方法

/// <summary>
/// 添加 Action
/// </summary>
/// <param name="actionName">action 名称</param>
/// <param name="actionType">action 类型</param>
public static void StartAction(string actionName, string actionType)

/// <summary>
/// 添加 Action
/// </summary>
/// <param name="actionName">action 名称</param>
/// <param name="actionType">action 类型</param>
/// <param name="property">附加属性参数</param>
public static void StartAction(string actionName, string actionType, Dictionary<string, object> property)

/// <summary>
/// 添加 Action
/// </summary>
/// <param name="actionName">action 名称</param>
/// <param name="actionType">action 类型</param>
public static void AddAction(string actionName, string actionType)

/// <summary>
/// 添加 Action
/// </summary>
/// <param name="actionName">action 名称</param>
/// <param name="actionType">action 类型</param>
/// <param name="property">附加属性参数</param>
public static void AddAction(string actionName, string actionType, Dictionary<string, object> property)

コード例

FTUnityBridge.StartAction("click", "test");

View

使用方法

/// <summary>
/// View 开始
/// </summary>
/// <param name="viewName">当前页面名称</param>
public static void StartView(string viewName)

/// <summary>
/// View 开始
/// </summary>
/// <param name="viewName">当前页面名称</param>
/// <param name="property">附加属性参数</param>
public static void StartView(string viewName, Dictionary<string, object> property)

/// <summary>
/// View 结束
/// </summary>
public static void StopView()

/// <summary>
/// View 结束
/// </summary>
/// <param name="property">附加属性参数</param>
public static void StopView(Dictionary<string, object> property)

コード例

FTUnityBridge.StartView("TEST_VIEW_ONE");

FTUnityBridge.StopView();

Resource

使用方法

/// <summary>
/// resource 开始
/// </summary>
/// <param name="resourceId">资源 Id</param>
public static async Task StartResource(string resourceId)

/// <summary>
/// resource 开始
/// </summary>
/// <param name="resourceId">资源 Id</param>
/// <param name="property">附加属性参数</param>
public static async Task StartResource(string resourceId, Dictionary<string, object> property)

/// <summary>
/// resource 结束
/// </summary>
/// <param name="resourceId">资源 Id</param>
public static async Task StopResource(string resourceId)

/// <summary>
/// resource 结束
/// </summary>
/// <param name="resourceId">资源 Id</param>
/// <param name="property">附加属性参数</param>
public static async Task StopResource(string resourceId, Dictionary<string, object> property)

/// <summary>
/// 添加网络传输内容和指标
/// </summary>
/// <param name="resourceId">资源 Id</param>
/// <param name="resourceParams">数据传输内容</param>
public static async Task AddResource(string resourceId, ResourceParams resourceParams)

ResourceParams

メソッド名 型 必須 説明
url string はい url アドレス
requestHeader string いいえ リクエストヘッダーパラメータ。形式に制限はありません
responseHeader string いいえ レスポンスヘッダーパラメータ。形式に制限はありません
responseConnection string いいえ レスポンスの connection
responseContentType string いいえ レスポンスの ContentType
responseContentEncoding string いいえ レスポンスの ContentEncoding
resourceMethod string いいえ リクエストメソッド(GET、POST など)
responseBody string いいえ レスポンスボディの内容

コード例

FTUnityBridge.StartResource(resourceId);

FTUnityBridge.StopResource(resourceId);

ResourceParams resourceParams = new ResourceParams();
resourceParams.url = url;
resourceParams.requestHeader = client.DefaultRequestHeaders.ToDictionary(header => header.Key, header => string.Join(",", header.Value));
resourceParams.responseHeader = response.Headers.ToDictionary(header => header.Key, header => string.Join(",", header.Value));
resourceParams.resourceStatus = (int)response.StatusCode;
resourceParams.responseBody = responseData;
resourceParams.resourceMethod = "GET";

FTUnityBridge.AddResource(resourceId, resourceParams);

Error

使用方法

/// <summary>
/// 添加错误信息
/// </summary>
/// <param name="log">日志</param>
/// <param name="message">消息</param>
public static async Task AddError(string log, string message)

/// <summary>
/// 添加错误信息
/// </summary>
/// <param name="log">日志</param>
/// <param name="message">消息</param>
/// <param name="property">附加属性参数</param>
public static async Task AddError(string log, string message, Dictionary<string, object> property)

コード例

void OnEnable()
{
    Application.logMessageReceived += LogCallBack;
}

void OnDisable()
{
    Application.logMessageReceived -= LogCallBack;
}

void LogCallBack(string condition, string stackTrace, LogType type)
{
    if (type == LogType.Exception)
    {
        FTUnityBridge.AddError(stackTrace, condition);
    }
}

LongTask

使用方法

/// <summary>
/// 添加长耗时任务
/// </summary>
/// <param name="log">日志内容</param>
/// <param name="duration">持续时间,纳秒</param>
public static async Task AddLongTask(string log, long duration)

/// <summary>
/// 添加长耗时任务
/// </summary>
/// <param name="log">日志内容</param>
/// <param name="duration">持续时间,纳秒</param>
/// <param name="property">附加属性参数</param>
public static async Task AddLongTask(string log, long duration, Dictionary<string, object> property)

コード例

FTUnityBridge.AddLongTask("long task test", 100002);

関連トピック

フィードバック

このページは役に立ちましたか?