WebView 数据
采集 WebView 配置
若当前使用的 SDK 版本大于等于 2.18.0,按以下方法配置
采集 WebView 数据需设置 setDomStorageEnabled(true),还需设置 WebViewClient 及 WebChromeClient,如项目中未调用上述方法,请添加以下内容
WebSettings webSettings = webview.getSettings();
webSettings.setDomStorageEnabled(true);
webview.setWebViewClient(new WebViewClient(){});
webview.setWebChromeClient(new WebChromeClient(){});
若当前使用的 SDK 版本低于 2.18.0,请按以下方法配置
采集 WebView 数据需设置 setDomStorageEnabled(true),还需设置 WebViewClient 及 WebChromeClient,如项目中未调用上述方法,请添加以下内容
WebSettings webSettings = webview.getSettings();
webSettings.setDomStorageEnabled(true);
webview.setWebViewClient(new WebViewClient(){});
webview.setWebChromeClient(new WebChromeClient(){});
-
手动注入 JS 探针
-
相关接口
/**
* 采集 WebView 数据需在 WebChromeClient 的 onProgressChanged() 方法中调用本接口
* @param view WebView 对象
* @param newProgress 加载进度
*/
NBSWebChromeClient.initJSMonitor(view, newProgress); -
代码示例
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
NBSWebChromeClient.initJSMonitor(view, newProgress);// 手动注入 JS 探针
super.onProgressChanged(view, newProgress);
}
});
-
采集 X5WebView 配置
若当前使用的 SDK 版本大于等于 2.18.0,按以下方法配置
采集 X5WebView 数据需设置 setDomStorageEnabled(true),还需设置 WebViewClient 及 WebChromeClient,如项目中未调用上述方法,请添加以下内容
WebSettings webSettings = webview.getSettings();
webSettings.setDomStorageEnabled(true);
webview.setWebViewClient(new WebViewClient(){});
webview.setWebChromeClient(new WebChromeClient(){});
若当前使用的 SDK 版本低于 2.18.0,按以下方法配置
采集 X5WebView 数据需设置 setDomStorageEnabled(true),还需设置 WebViewClient 及 WebChromeClient,如项目中未调用上述方法,请添加以下内容
WebSettings webSettings = webview.getSettings();
webSettings.setDomStorageEnabled(true);
webview.setWebViewClient(new WebViewClient(){});
webview.setWebChromeClient(new WebChromeClient(){});
-
手动注入 JS 探针
-
相关接口
/**
* 采集 X5WebView 数据需在 WebChromeClient 的 onProgressChanged() 方法中调用本接口
* @param view WebView 对象
* @param newProgress 加载进度
*/
NBSWebChromeX5Client.initJSMonitorX5(view, newProgress); -
代码示例
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
NBSWebChromeX5Client.initJSMonitorX5(view, newProgress);// 手动注入 JS 探针
super.onProgressChanged(view, newProgress);
}
});
-
-
添加 JsBridge
说明:X5WebView 手动注入 JS 探针,还需要添加 JsBridge。
-
相关接口
/**
* @param x5WebView 为 X5 WebView 实例
*/
NBSWebChromeX5Client.addWebViewBridge(WebView x5WebView); -
代码示例
NBSWebChromeX5Client.addWebViewBridge(x5WebView);//生成 X5WebView 实例后调用
-