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 は指定したホストおよびそのサブドメインに一致します。正規表現は許可されていません。