RUM iOS モニタリング

RUM iOS モニタリング

Datadog Real User Monitoring (RUM) を使用すると、アプリケーションの個々のユーザーのリアルタイムパフォーマンスとユーザージャーニーを視覚化して分析できます。

セットアップ

  1. SDK を依存関係として宣言します。
  2. UI でアプリケーションの詳細を指定します。
  3. ライブラリを初期化します。
  4. RUM モニター、DDURLSessionDelegate を初期化してデータ送信を開始します。

注: Datadog iOS SDK に対応するバージョンは iOS v11 以降です。

SDK を依存関係として宣言

  1. パッケージマネージャーに応じて dd-sdk-ios を依存関係として宣言します。
パッケージマネージャーインストール方法
CocoaPodspod 'DatadogSDK'
Swift Package Manager.package(url: "https://github.com/DataDog/dd-sdk-ios.git", .upToNextMajor(from: "1.0.0"))
Carthagegithub "DataDog/dd-sdk-ios"

UI でアプリケーションの詳細を指定

  1. UX Monitoring > RUM ApplicationsNew Application をクリックします。
  2. Datadog UI で、Application TypeiOS を選択し、新しいアプリケーション名を入力して一意の Datadog アプリケーション ID とクライアントトークンを生成します。

データの安全性を確保するため、dd-sdk-ios ライブラリの構成に Datadog API キーを使用しないでください。その代わり、クライアントトークンを使用すると、iOS アプリケーションバイトコード内のクライアント側で API キーが公開されないようにできます。

クライアントトークンのセットアップについて、詳しくはクライアントトークンに関するドキュメントを参照してください。

ライブラリの初期化

Datadog.initialize(
    appContext: .init(),
    trackingConsent: trackingConsent,
    configuration: Datadog.Configuration
        .builderUsing(
            rumApplicationID: "<rum_application_id>",
            clientToken: "<client_token>",
            environment: "<environment_name>"
        )
        .set(serviceName: "app-name")
        .trackUIKitRUMViews()
        .trackUIKitActions()
        .trackURLSession()
        .build()
)
Datadog.initialize(
    appContext: .init(),
    trackingConsent: trackingConsent,
    configuration: Datadog.Configuration
        .builderUsing(
            rumApplicationID: "<rum_application_id>",
            clientToken: "<client_token>",
            environment: "<environment_name>"
        )
        .set(serviceName: "app-name")
        .set(endpoint: .eu)
        .trackUIKitRUMViews()
        .trackUIKitActions()
        .trackURLSession()
        .build()
)

RUM SDK は、SDK の初期化時に提供されたオプションに従いユーザーセッションを自動的に追跡します。EU ユーザーに対する GDPR コンプライアンスおよびその他の初期化パラメーターを SDK コンフィギュレーションに追加するには、トラッキングに関する同意の設定ドキュメントを参照してください。

RUM モニターと DDURLSessionDelegate の初期化

RUM Monitor を構成して登録します。通常は AppDelegate コードで、一度だけ実行する必要があります。

import Datadog

Global.rum = RUMMonitor.initialize()

URLSession インスタンスからリソースとして送信されるリクエストを監視するには、DDURLSessionDelegate() をその URLSessiondelegate として割り当てます。

let session = URLSession(
    configuration: .default,
    delegate: DDURLSessionDelegate(),
    delegateQueue: nil
)

その他の参考資料