- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog Real User Monitoring (RUM) を使用すると、チャンネルの個々のユーザーのリアルタイムパフォーマンスとユーザージャーニーを視覚化して分析できます。
Datadog Roku SDK は、Roku OS 10 以降の BrightScript チャンネルをサポートしています。
ROPM
は Roku プラットフォームのパッケージマネージャーです (NPM をベースにしています)。Roku プロジェクトでまだ ROPM
を使用していない場合は、スタートアップガイドをお読みください。プロジェクトが ROPM
を使用するようにセットアップされたら、以下のコマンドを使用して Datadog の依存関係をインストールすることができます。
ropm install datadog-roku
プロジェクトが ROPM
を使用していない場合は、Roku SDK の zip アーカイブをダウンロードし、プロジェクトのルートフォルダで解凍して、ライブラリを手動でインストールします。
プロジェクトの components
と source
フォルダの両方に roku_modules/datadogroku
サブフォルダがあることを確認します。
アプリケーションタイプとして Roku を選択し、新しいアプリケーション名を入力して一意の Datadog アプリケーション ID とクライアントトークンを生成します。
クライアント IP またはジオロケーションデータの自動ユーザーデータ収集を無効にするには、これらの設定のチェックボックスをオフにします。詳しくは、RUM Roku データ収集をご覧ください。
データの安全性を確保するため、クライアントトークンを使用する必要があります。dd-sdk-roku
ライブラリの構成に Datadog API キーのみを使用した場合、クライアント側で Roku チャンネルの BrightScript コード内で公開されます。
クライアントトークンのセットアップについて、詳しくはクライアントトークンに関するドキュメントを参照してください。
初期化スニペットで、環境名を設定します。詳しくは、タグの使用方法を参照してください。
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "us1",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "eu1",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "us3",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "us5",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
sub RunUserInterface(args as dynamic)
screen = CreateObject("roSGScreen")
scene = screen.CreateScene("MyScene")
screen.show()
datadogroku_initialize({
clientToken: "<CLIENT_TOKEN>",
applicationId: "<APPLICATION_ID>"
site: "ap1",
env: "<ENV_NAME>",
sessionSampleRate: 100, ' the percentage (integer) of sessions to track
launchArgs: args
})
' complete your channel setup here
end sub
すべてのリソースの自動追跡を有効にするには RUM リソースの追跡、イベントにカスタムグローバル情報やユーザー情報を追加するにはユーザーセッションのリッチ化を参照してください。
ユーザーセッションを論理的なステップに分割するには、次のコードを使用して手動で View を開始します。チャンネル内で新しい画面に移動するたびに、新しい RUM View に対応する必要があります。
viewName = "VideoDetails"
viewUrl = "components/screens/VideoDetails.xml"
m.global.datadogRumAgent.callfunc("startView", viewName, viewUrl)
RUM Actions は、ユーザーがチャンネルと行うインタラクションを表します。アクションは以下のように Datadog に転送することができます。
targetName = "playButton" ' the name of the SG Node the user interacted with
actionType = "click" ' the type of interaction, should be one of "click", "back", or "custom"
m.global.datadogRumAgent.callfunc("addAction", { target: targetName, type: actionType})
例外を投げる可能性のある操作を行った場合、以下のように Datadog にエラーを転送することができます。
try
doSomethingThatMightThrowAnException()
catch error
m.global.datadogRumAgent.callfunc("addError", error)
end try