概要
まだ Datadog Unity SDK for RUM をセットアップしていない場合は、アプリ内のセットアップ手順 に従うか、RUM Unity のセットアップ ドキュメント を参照してください。OpenTelemetry と RUM Unity の連携を設定する方法もご確認ください。
高度な初期化オプション
Custom Endpoint- オプション
型: String
デフォルト: true
デフォルトの Datadog エンドポイントではなく、カスタム エンドポイントにデータを送信します。これは、カスタム サーバー経由でデータをプロキシする場合に便利です。 SDK Verbosity- オプション
型: Enum
デフォルト: Warn
Datadog SDK が出力するデバッグ情報のレベル。レベルが高いほど、より多くの情報を出力します。このオプションは、想定どおりに動作しない場合に SDK からデバッグ情報を取得したり、コンソール ログから SDK 関連のデバッグ エントリを除去したりするのに役立ちます。 Telemetry Sample Rate- オプション
型: Double
デフォルト: 20
Datadog が内部テレメトリ データを送信する割合。値が 100 の場合、すべてのテレメトリ データがサンプリングされ、Datadog に送信されます。
ビューの自動追跡
Enable Automatic Scene Tracking を選択すると、Datadog は Unity の SceneManager にフックしてシーンのロード/アンロードを検出し、RUM ビューを適切に開始します。SceneManager 以外の方法でシーン間を移動している場合、または SceneManager を伴わないビューの変更も追跡したい場合は、DdRum.StartView と DdRum.StopView を使って手動でビューを追跡する必要があります。
ユーザーアクションの追跡
DdRum.AddAction を使用すると、タップ、クリック、スクロールなどの特定のユーザー アクションを追跡できます。
RumActionType.Tap のような瞬間的な RUM アクションを手動で登録するには、DdRum.AddAction() を使用します。RumActionType.Scroll のような連続的な RUM アクションを登録するには、DdRum.StartAction() または DdRum.StopAction() を使用します。
例:
void DownloadResourceTapped(string resourceName) {
DatadogSdk.Instance.Rum.AddAction(
RumActionType.Tap,
resourceName,
);
}
DdRum.StartAction と DdRum.StopAction を使用する場合、Datadog Unity SDK がアクションの開始と完了を対応付けられるよう、type の値は同一である必要があります。
リソースの追跡
Datadog は、RUM ビューからのリソースおよび HTTP 呼び出しを追跡できるよう、UnityWebRequest のドロップイン代替として DatadogTrackedWebRequest を提供しています。
通常の UnityWebRequest と同様に使用できます。
var request = DatadogTrackedWebRequest.Get("https://httpbin.org/headers");
yield return request.SendWebRequest();
Debug.Log("Got result: " + request.downloadHandler.text);
カスタムリソースの追跡
DatadogTrackedWebRequest による自動リソース追跡に加えて、以下のメソッドを使うと、ネットワーク リクエストやサード パーティ プロバイダーの API など、特定のカスタム リソースを追跡できます。
DdRum.StartResourceDdRum.StopResourceDdRum.StopResourceWithErrorDdRum.StopResourceWithErrorInfo
例:
// ネットワーククライアントで
DatadogSdk.Instance.Rum.startResource(
"resource-key",
RumHttpMethod.Get,
url,
);
// その後
DatadogSdk.Instance.Rum.stopResource(
"resource-key",
200,
RumResourceType.Image
);
Datadog Unity SDK がリソースの開始と完了を対応付けられるよう、両方の呼び出しで resourceKey に用いる string は、対象リソースごとに一意である必要があります。
カスタムエラーの追跡
特定のエラーを追跡するには、エラーが発生したときに例外、ソース、その他任意の属性情報を DdRum に通知します。
try
{
// エラーを起こしやすいコード
}
catch(Exception e)
{
DatadogSdk.Instance.Rum.AddError(e, RumErrorSource.Source);
}
カスタムグローバル属性の追跡
Datadog Unity SDK が自動的に取得するデフォルトの RUM 属性に加えて、RUM イベントにカスタム属性などのコンテキスト情報を追加して、Datadog における可観測性を高めることができます。
カスタム属性を使用すると、観察されたユーザーの行動に関する情報 (カート値、マーチャント層、広告キャンペーンなど) をコードレベルの情報 (バックエンドサービス、セッションタイムライン、エラーログ、ネットワークヘルスなど) でフィルタリングおよびグループ化することができます。
カスタムグローバル属性の設定
カスタム グローバル属性を設定するには、DdRum.AddAttribute を使用します。
- 属性を追加または更新するには、
DdRum.AddAttribute を使用します。 - キーを削除するには、
DdRum.RemoveAttribute を使用します。
ユーザーセッションの追跡
RUM セッションにユーザー情報を追加すると、次のことが簡単になります。
- 特定のユーザーのジャーニーをたどる
- エラーの影響を最も受けているユーザーを把握する
- 最も重要なユーザーのパフォーマンスを監視する
| 属性 | タイプ | 説明 |
|---|
usr.id | 文字列 | (必須) 一意のユーザー識別子 |
usr.name | 文字列 | (オプション) RUM UI にデフォルトで表示されるユーザー フレンドリーな名前。 |
usr.email | 文字列 | (オプション) ユーザー名がない場合に RUM UI に表示されるユーザーのメール アドレス。 |
ユーザー セッションを識別するには、DatadogSdk.SetUserInfo を使用します。
例:
DatadogSdk.Instance.SetUserInfo("1234", "John Doe", "john@doe.com");
カスタム ユーザー属性の追加
ユーザー セッションにカスタム属性を追加できます。この追加情報は、ログ、トレース、RUM イベントに自動的に適用されます。
既存の属性を削除するには、その属性に null を設定します。
例:
DatadogSdk.Instance.AddUserExtraInfo(new ()
{
{ "attribute_1", "foo" },
{ "attribute_2", null },
});
Clear all data
ClearAllData を使用すると、Datadog にまだ送信されていないすべてのデータをクリアできます。
DatadogSdk.instance.ClearAllData();
参考資料