Web ページからの RUM イベントを転送したい場合は、RUM Android SDK の最新バージョンをダウンロードし、専用ガイドに従って RUM 機能をセットアップしてください。
Web ページからのログイベントを転送したい場合は、Logs Android SDK の最新バージョンをダウンロードし、専用ガイドに従ってログ機能をセットアップしてください。
モジュールレベルの build.gradle
ファイルで dd-sdk-android-webview
ライブラリを依存関係として宣言し、Gradle 依存関係を追加します。
dependencies {
implementation "com.datadoghq:dd-sdk-android-webview:x.x.x"
}
以下のコードスニペットで Web ビューの追跡を有効にします。
WebViewTracking.enable(webView, allowedHosts)
allowedHosts
は、指定されたホストおよびそのサブドメインに一致します。正規表現は許可されていません。
注:
WebView コンポーネントでインスツルメンテーションを機能させるには、WebView で JavaScript を有効にすることが非常に重要です。有効にするには、以下のコードスニペットを使用します。
webView.settings.javaScriptEnabled = true
RUM iOS SDK は、Web ビュー追跡を制御するための API を提供します。Web ビュー追跡を有効にするには、WKWebView
インスタンスを提供します。
import WebKit
import DatadogWebViewTracking
let webView = WKWebView(...)
WebViewTracking.enable(webView: webView, hosts: ["example.com"])
Web ビュー追跡を無効にする場合
WebViewTracking.disable(webView: webView)
allowedHosts
は、指定されたホストおよびそのサブドメインに一致します。正規表現は許可されていません。
RUM Flutter SDK は、webview_flutter
または flutter_inappwebview
パッケージを使用する際に、Web ビューのトラッキングを制御するための API を提供します。
Web view Flutter パッケージ
webview_flutter
を使用して Web ビュー トラッキングを追加するには、最新版の datadog_webview_tracking
プラグインを pubspec.yaml
に以下のように追加してください。
dependencies:
datadog_webview_tracking: ^x.x.x
その後、許可するホストのリストを指定して、WebViewController
に対して trackDatadogEvents
エクステンションメソッドを呼び出します。
例:
import 'package:datadog_flutter_plugin/datadog_flutter_plugin.dart';
webViewController = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..trackDatadogEvents(
DatadogSdk.instance,
['myapp.example'],
)
..loadRequest(Uri.parse('myapp.example'));
なお、Android で追跡機能を有効にするには、JavaScriptMode.unrestricted
が必要です。
allowedHosts
は、指定されたホストおよびそのサブドメインに一致します。正規表現は許可されていません。
Flutter InAppWebView パッケージ
flutter_inappwebview
を使用して Web ビュー トラッキングを追加するには、最新版の datadog_inappwebview_tracking
プラグインを pubspec.yaml
に以下のように追加してください。
dependencies:
datadog_webview_tracking: ^x.x.x
InAppWebView
をインスツルメンテーションするには、initialUserScripts
に DatadogInAppWebViewUserScript
を追加し、onWebViewCreated
コールバック内で trackDatadogEvents
エクステンションメソッドを呼び出します。
InAppWebView(
// 他の設定...
initialUserScripts: UnmodifiableListView([
DatadogInAppWebViewUserScript(
datadog: DatadogSdk.instance,
allowedHosts: {'shopist.io'},
),
]),
onWebViewCreated: (controller) async {
controller.trackDatadogEvents(DatadogSdk.instance);
},
)
InAppBrowser
をインスツルメンテーションするには、onBrowserCreated
をオーバーライドして webViewController
に対して trackDatadogEvents
エクステンションメソッドを呼び出し、カスタム InAppBrowser
を作成する際に initialUserScripts
に DatadogInAppWebViewUserScript
を追加します。
class MyInAppBrowser extends InAppBrowser {
MyInAppBrowser({super.windowId, super.initialUserScripts});
@override
void onBrowserCreated() {
webViewController?.trackDatadogEvents(DatadogSdk.instance);
super.onBrowserCreated();
}
}
// ブラウザの生成
_browser = MyInAppBrowser(
initialUserScripts: UnmodifiableListView(
[
DatadogInAppWebViewUserScript(
datadog: DatadogSdk.instance,
allowedHosts: {'shopist.io'},
),
],
),
);
DatadogInAppWebViewUserScript
の allowedHosts
パラメーターは、指定したホストおよびそのサブドメインに一致します。正規表現の使用は許可されていません。
公式インストールドキュメントに従って、react-native-webview
をアプリケーションに追加します。
react-native-webview
ではなく、@datadog/mobile-react-native-webview
から WebView
をインポートします。
import { WebView } from '@datadog/mobile-react-native-webview';
// or
import WebView from '@datadog/mobile-react-native-webview';
@datadog/mobile-react-native-webview
の WebView
コンポーネントは react-native-webview
コンポーネントをラップしているので、react-native-webview
の既存のすべての機能を使用することができます。
WebView
コンポーネントの allowedHosts
プロップを使用して、Datadog が追跡するホストのリストを Web ビュー内に提供します。
<WebView
source={{ uri: 'https://www.example.com' }}
allowedHosts={['example.com']}
/>
allowedHosts
は、指定されたホストおよびそのサブドメインに一致します。正規表現は許可されていません。
Web ページから送信される RUM イベントを転送したい場合は、RUM Kotlin Multiplatform SDK の最新バージョンをダウンロードし、専用ガイドに従って RUM をセットアップしてください。
Web ページから送信されるログ イベントを転送したい場合は、Logs Kotlin Multiplatform SDK の最新バージョンをダウンロードし、専用ガイドに従ってログをセットアップしてください。
モジュールレベルの build.gradle.kts
ファイルで dd-sdk-kotlin-multiplatform-webview
ライブラリを依存関係として宣言し、共通のソースセットに Gradle 依存関係を追加します。
kotlin {
// ...
sourceSets {
commonMain.dependencies {
implementation("com.datadoghq:dd-sdk-kotlin-multiplatform-webview:x.x.x")
}
}
}
以下のコードスニペットで Web ビューの追跡を有効にします。
// call it in Android or iOS source set, not in the common one
WebViewTracking.enable(webView, allowedHosts)
Web ビューのインスタンスが解放可能になったら、Web ビューのトラッキングを無効化します (iOS のみ)。
// call it in iOS source set, not in the common one
WebViewTracking.disable(webView, allowedHosts)
allowedHosts
は指定したホストおよびそのサブドメインに一致します。正規表現は許可されていません。