콘텐츠로 이동

WebView 데이터 모니터링

이 문서는 HarmonyOS WebView 시나리오에서의 데이터 수집 방식을 다룹니다.

활성화 방법

RUM 설정에서 setEnableTraceWebView(true)를 활성화하면 SDK가 WebView의 RUM 데이터를 자동으로 수집합니다.

Host 허용 목록 설정

setAllowWebViewHost(...)를 사용하여 WebView JavaScript Bridge를 사용할 수 있는 Host를 제한할 수 있습니다. 허용 목록은 WebView 내의 Browser SDK에 제공되며, null 또는 빈 배열을 전달하면 Host를 제한하지 않습니다.

import { FTSDK, FTRUMConfig } from '@guancecloud/ft_sdk/Index';

const rumConfig = new FTRUMConfig()
  .setRumAppId('your-rum-app-id')
  .setEnableTraceWebView(true)
  .setAllowWebViewHost(['example.com', 'm.example.com']);

FTSDK.installRUMConfig(rumConfig);

사용 예시

import { FTWebViewHandler } from '@guancecloud/ft_sdk/Index';
import { webview } from '@kit.ArkWeb';

@Component
export struct MyWebViewPage {
  @State webController: webview.WebviewController = new webview.WebviewController();
  private webViewHandler: FTWebViewHandler = new FTWebViewHandler();

  aboutToAppear() {
    this.webViewHandler.setWebView(this.webController);
  }

  aboutToDisappear() {
    this.webViewHandler.clearWebController();
  }

  build() {
    Web({
      src: 'https://example.com',
      controller: this.webController
    })
    .javaScriptAccess(true)
    .javaScriptProxy(this.webViewHandler.getJavaScriptProxy(this.webController))
  }
}

설명

  • FTWebViewHandler는 앱 진입점의 RUM 설정을 읽습니다.
  • 페이지 진입 시 webController를 바인딩하고, 페이지를 벗어날 때 즉시 정리합니다.
  • setEnableTraceWebView(true)를 활성화하지 않으면 WebView 데이터가 자동으로 수집되지 않습니다.
  • Host 허용 목록을 설정한 경우 허용 목록에 포함된 페이지만 JavaScript Bridge를 사용할 수 있습니다.
  • view_path_name이 없으면 SDK가 해당 필드를 추가하지 않으며, 이미 포함된 경우 해당 값을 유지합니다. view_referrer가 없으면 현재 네이티브 View로 폴백됩니다.
  • WebView 데이터의 sdk_version은 네이티브 SDK를 기준으로 하며, Browser SDK 버전 정보는 sdk_pkg_info에 유지됩니다.

문서 평가

이 페이지가 도움이 되었나요?