コンテンツにスキップ

WebView データモニタリング

UniApp の WebView データモニタリングは、WebView がアクセスするページに Web モニタリング SDK を統合する必要があります。

Android はオフラインパッケージと uni 小程序のシナリオのみサポートしています。

設定

通常の uni-app は RUM の初期化時に次のように設定します:

import { rum } from '@/uni_modules/GC-UniPlugin';

rum.setConfig({
    enableTraceWebView: true,
    allowWebViewHost: [
        'example.com'
    ]
});
  • enableTraceWebView:WebView RUM ブリッジを有効にするかどうか。デフォルトは true;
  • allowWebViewHost:追跡を許可する WebView ホストのリスト。設定しない場合はすべてのホストを収集します。

通常の uni-app は、最初に Mobile SDK と RUM の初期化を完了してから WebView をロードする必要があります。uni 小程序はホスト App が SDK と RUM の初期化を行うため、重複して初期化しません。

プラットフォームの説明

  • Android、iOS は標準の <web-view> を使用しますが、実際の機能は Native SDK とパッケージ方法に依存します;
  • HarmonyOS は、ビジネス側が WebviewController を保持しているかどうかに応じて、対応する接続方式を選択します。詳細は HarmonyOS 接続 を参照してください;
  • uni 小程序の WebView 収集機能は、ホスト App に統合された Native SDK によって提供されます。Android ホストはさらに ft-plugin をインストールして適用する必要があります。

HarmonyOS 接続

HarmonyOS の WebView ブリッジは、ターゲットページのロード前にインストールする必要があります。ビジネス側が WebviewController を保持しているかどうかに応じて、以下のいずれかの方法を選択してください。同じ WebView で両方の方法を同時に使用しないでください。

ビジネス側が WebviewController を保持しない場合

通常の uni-app ページが WebviewController を直接管理しない場合、HarmonyOS プラットフォームではプラグインが提供するネイティブ埋め込みコンポーネント gcwebview を使用します。このコンポーネントは、コントローラーが利用可能になると自動的にブリッジをインストールし、コンポーネントが破棄されると自動的に解放します。

<!-- #ifdef APP-HARMONY -->
<embed
  class="harmony-webview"
  tag="gcwebview"
  :options="{
    src: webviewUrl,
    viewName: 'order-detail'
  }"
></embed>
<!-- #endif -->

<!-- #ifndef APP-HARMONY -->
<web-view :src="webviewUrl" />
<!-- #endif -->
  • src:ロードする Web ページのアドレス;
  • viewName:オプションのネイティブ RUM ビュー名。各ビジネス WebView に意味のある安定した名前を設定することを推奨します。設定しない場合のデフォルトは webview です;
  • gcwebview を使用する場合、rum.attachWebView() や rum.detachWebView() を呼び出す必要はありません。

ビジネス側が WebviewController を保持する場合

HarmonyOS のネイティブページ、UTS ネイティブ WebView、または uni 小程序のホスト App で、ビジネスコードが自分で WebviewController を保持している場合、コントローラーの onControllerAttached コールバックで rum.attachWebView() を呼び出し、この時点でターゲットページがまだロードされていないことを確認してください:

Web({ src: webviewUrl, controller })
  .onControllerAttached(() => {
    rum.attachWebView(controller, 'order-detail');
  });

WebView 破棄時に対応するブリッジを解放します:

rum.detachWebView(controller);

rum.attachWebView() は、RUM が初期化済みで enableTraceWebView が true の場合にのみ有効です。そのため、最初に rum.setConfig() を実行してから WebView を作成するか、コントローラーをバインドしてください。ページのロードが完了してからバインドすると、最初のドキュメントの Web RUM ブリッジを見逃す可能性があります。

uni 小程序のホスト App がこの方法を使用する前に、最初に uni 小程序を開く前にホスト拡張の registerNativeModules(context) 登録を完了しておく必要があります。

使用上の推奨事項

  1. Web ページに Web モニタリング SDK を統合します;
  2. Native SDK/RUM の初期化が完了してから WebView をロードします;
  3. allowWebViewHost を使用して、ブリッジを許可するビジネスドメインを制限します;
  4. HarmonyOS では gcwebview と手動の attachWebView() 方式のいずれかを選択します;
  5. Android、iOS、HarmonyOS の実機環境で、それぞれ WebView データと現在の RUM ビューの関連付けを検証します。

フィードバック

このページは役に立ちましたか?