Webview

优质
小牛编辑
160浏览
2023-12-01

对于使用Webview嵌入网页在应用内的App,我们封装了从JavaScript到Native的调用,并提供了与Native一致的统计API。

我们暂时支持Android标准Webview,我们注意到有些APP也会使用第三方Webview,比如腾讯Webview,百度Webview等,暂不支持,正在考虑支持,敬请期待!

使用方法

  1. 引用mobstat.js到您的网页内,js文件获取地址:下载的SDK包demo/assets/mobstat.js
  2. 对应Webview,请在webview初始化时。调用如下方法

    // @param context 可以是application context
    // @param webview 
    // @param client 如果有绑定WebViewClient对象,需要传入;否则APP无法收到回调
    StatService.bindJSInterface(Context context, WebView webview, WebViewClient client);
    
  3. 在您的HTML代码内,调用对应的API进行统计。API列表见下方。

API

具体使用方法可以参考Demo的WebDemo部分。

事件分析

无时长事件

// @param eventId 事件id,需要事先在web端配置,否则无数据
// @param eventLabel 事件label
// @param acc 事件发生次数
BaiduMobStat.onEvent(eventId, eventLabel, acc);
// attributes 是以object形式传入的字典,如{'类型':'类型一', '数值': '3'}
BaiduMobStat.onEventWithAttributes(eventId, eventLabel, acc, attributes);

固定时长事件

// @param eventId 事件id,需要事先在web端配置,否则无数据
// @param eventLabel 事件label
// @param duration 单位:ms
BaiduMobStat.onEventDuration(eventId, eventLabel, duration);
// attributes 是以object形式传入的字典,如{'类型':'类型一', '数值': '3'}
BaiduMobStat.onEventDurationWithAttributes(eventId, eventLabel, duration, attributes);

自定义时长事件

// @param eventId 事件id,需要事先在web端配置,否则无数据
// @param eventLabel 事件label
BaiduMobStat.onEventStart(eventId, eventLabel);
BaiduMobStat.onEventEnd(eventId, eventLabel);
// attributes 是以object形式传入的字典,如{'类型':'类型一', '数值': '3'}
BaiduMobStat.onEventEndWithAttributes(eventId, eventLabel, attributes);

页面分析

// @param pageName 页面名,start和end需要匹配,且pageName相同
BaiduMobStat.onPageStart(pageName);
BaiduMobStat.onPageEnd(pageName);