WebView 数据监测¶
本文适用于 Cocos Creator Android/iOS 原生构建中通过 WebView 组件加载的 Web 页面。Web Mobile / Web Desktop 构建请参考 Web 接入。
App 侧配置¶
先完成 SDK 初始化 和 RUM 配置,在加载 WebView 页面前初始化 RUM。
独立运行模式下,在现有 guanceSdk.start() 配置中设置 WebView 参数,应用生命周期内只初始化一次:
guanceSdk.start({
sdk: {
datakitUrl: 'https://your-datakit.example.com',
allowWebViewHost: ['example.com'],
},
rum: {
androidAppId: 'android-rum-app-id',
iosAppId: 'ios-rum-app-id',
enableTraceWebView: true,
},
// 需要采集 WebView 页面日志时配置。
logger: {
enableWebViewLog: true,
},
});
rum.enableTraceWebView控制 WebView RUM,默认true。设置为false只关闭 WebView RUM,不影响已开启的 WebView 日志。sdk.allowWebViewHost同时控制 WebView RUM 和日志的 Bridge host 范围。null允许所有 host,空数组[]禁止所有 host;未设置时保留原生 SDK 默认行为。配置位置与匹配规则见 WebView host 配置。logger.enableWebViewLog控制 WebView 日志,默认false。页面还需初始化 Browser Logs SDK,详见 WebView 日志。
这些参数作用于 Android/iOS 原生构建中的 WebView,不映射为 Web Mobile / Web Desktop 的 Browser SDK 配置。更新 Cocos SDK 后,需重新运行安装器并构建原生工程,使 TypeScript 类型、Bridge 和配套原生依赖保持一致。
原生宿主 Hybrid 场景由宿主完成 SDK、RUM 和 Log 初始化,Cocos 通过 attach() 接入,不使用上述 start() 示例重复初始化。宿主侧配置见 Android WebView 监测和 iOS WebView 数据监测,Cocos 接入方式见 原生与 Cocos 混合开发。
Android Plugin 配置¶
Cocos 构建扩展不会自动应用 ft-plugin,WebView Bridge 自动注入需要完成以下配置:
- 在生成的 Android 原生工程中,按 Android Plugin 接入添加 Maven 仓库与插件依赖,并根据 Android Gradle Plugin(AGP)版本选择
ft-plugin或ft-plugin-legacy。 -
在应用主模块的
build.gradle(通常为app/build.gradle)中应用插件,并在FTExt中补充自定义 WebView 类识别。例如,使用org.cocos2dx.lib.Cocos2dxWebView的工程配置如下:工程已应用插件时,无需重复添加
apply plugin。将knownWebViewClasses合并到现有FTExt,保留其他配置;已有类列表时追加上述类名。若项目使用其他自定义 WebView 类,应填写实际使用的完整类名。 -
重新执行 Gradle 编译、打包并安装应用,使插桩配置生效。Cocos Creator 重新生成 Android 原生工程后,确认 Plugin 和
knownWebViewClasses配置仍然保留。
自定义 WebView 识别
ft-plugin 已接入并不代表 Cocos 自定义 WebView 已被识别。使用 ft-plugin 1.3.9 和 org.cocos2dx.lib.Cocos2dxWebView 时,需要补充上述类识别配置。未收到数据时,可按 自定义 WebView 自动采集排查检查插件日志。
初始化 Web 页面¶
完成 App 侧配置后,在 WebView 加载的页面内集成并初始化 Web RUM SDK,详见 页面初始化。已有 Web SDK 初始化配置时复用现有配置,只保留一次初始化。
按 WebView 数据验证检查上报:在 App 中打开页面,触发访问、点击或网络请求,在对应的 Android/iOS App 应用中确认收到 WebView RUM 数据。