カスタムタグの使用¶
C# と Native C/C++ は、ユーザー情報、SDK グローバルコンテキスト、RUM グローバルコンテキストをサポートしています。Log には、独立したグローバル属性を設定することもできます。
SDK 実行時の追加¶
匿名ユーザー識別子¶
C# と Native C/C++ は、初期化時に未ログインユーザー向けに ft.rd_ で始まる匿名 userid を生成します。この識別子は RUM アプリケーション ID ごとに分離され、SDK キャッシュディレクトリ内の identity サブディレクトリに保存されます。同一の RUM アプリケーション ID とキャッシュディレクトリでは、プロセス再起動後も同じ識別子が引き続き使用されます。C++ ホストと Electron Bridge もこのセマンティクスを引き継ぎます。
ユーザー API を呼び出していない場合、RUM データは匿名 userid を使用します。RUM 連携を有効にした Log にもこの識別子が含まれます。SetUser() または guance_sdk_set_user() を呼び出すと、以降のデータは明示的なユーザー ID を使用します。クリア API を呼び出すと、以降のデータは元の匿名識別子に戻ります。対応するキャッシュディレクトリを削除すると、この識別子はリセットされます。
ID ファイルが書き込み不可の場合、またはロックに失敗した場合、SDK は現在のプロセスに一時的な匿名識別子を使用し、C# の DiagnosticListener または Native 診断出力によって永続化の失敗を報告します。テレメトリ収集が中断されることはありません。
ユーザーの設定¶
ユーザーのクリア:
ユーザーの切り替えは以降のデータにのみ影響し、すでにキューに追加されたデータは変更されません。
SDK グローバルコンテキスト¶
RUM、および連携を有効にした Log に適用されます:
RUM グローバルコンテキスト¶
RUM データにのみ追加されます:
Log グローバルコンテキスト¶
Log 専用タグは、Log の初期化時に設定します:
完全なパラメータは Log 設定 を参照してください。
イベントレベル属性¶
C# の手動 RUM および Log API は、イベントレベルのディクショナリを受け入れます。Native Log は guance_log_property を受け入れます。Native RUM v1 の手動イベント API は、任意のイベントレベル属性構造を提供しません。
GuanceSdk.AddAction(
"Save",
"click",
TimeSpan.FromMilliseconds(25),
new Dictionary<string, object?>
{
["result"] = "success"
});
命名と予約フィールド¶
- 小文字で安定し、集約可能なフィールド名を使用してください。例:
feature.name。 - Token、Cookie、パスワード、または直接個人を特定できる情報を書き込まないでください。
app_id、service、env、version、sdk_name、session_id、view_id、action_id、およびプラットフォームフィールドは SDK が管理します。- カスタムコンテキストで SDK の予約フィールドを上書きすることはできません。
- Native コンテキスト API は文字列を同期的にコピーします。空の Key を渡さないでください。