一、window挂载对象_jt_,包含以下全局方法
1、添加或修改skd上报数据_jt_.setData(obj)
2、执行冷启动_jt_.coldStart()
3、获取sdk里当前pathname _jt_getPathName
4、获取sdk里当前页面来源_jt_getPageDesc
5、手动发送埋点_jt_.sendTracker
6、重新收集模块曝光_jt_.refreshBlockExposure
7、重新收集隐藏元素曝光_jt_.refreshHideElementExposure
8、滑动触摸开始触摸函数_jt_.touchStart
9、滑动触摸结束触摸函数_jt_.touchEnd
10、刷新会存储到sessionStorage数据_jt_.sessionStore
二、四种业务埋点方法
1、手动通用埋点,是请求方法,比如接口返回数据后调用
/*
type策略类型,前端定义,默认不填,跳转页面需要传递spm信息时填写
'clickAndSpm' 点击埋点+spm带入下页url
'spm' 不埋点,spm带入下页url
*/
_jt_.sendTracker({
type: 'clickAndSpm', // 前端定义,默认不填
event_type: 'page_exp',
block_desc: '',
button_desc: '',
parameters: { objId },
});
2、原生属性通用埋点
/*
普通事件,type策略类型,前端定义,默认不填,跳转页面需要传递spm信息时填写
'clickAndSpm' 点击埋点+spm带入下页url
'spm' 不埋点,spm带入下页url
*/
data-jt-sender={JSON.stringify({
type: 'clickAndSpm', // 前端定义,默认不填
event_type: 'popup_window',
block_desc: 'tel_page',
button_desc: 'enter_btn',
parameters: { objId },
})}
/*
模块曝光,最外层添加两个属性
*/
<div
data-jt-block-exposure={JSON.stringify(data)}
ref={_jt_.refreshBlockExposure}
>
{children}
</div>
/*
隐藏元素曝光,透明透明div,添加两个属性
*/
<div
data-jt-hide-element-exposure={JSON.stringify(data)}
ref={_jt_.refreshHideElementExposure}
/>
3、react通用埋点组件
import Tracker from '@components/jimoTracker';
/*
type策略类型可选,默认'click'
'click' 点击埋点
'clickAndSpm' 点击埋点+spm带入下页url
'spm' spm带入下页url
'block' 模块曝光
'hide'隐藏元素曝光
*/
<Tracker
type="block"
data={{
event_type: 'block_exp',
block_desc: '',
button_desc: '',
parameters: { objId: newsPaperSensorsData.properties.paper_id },
}}
>{'被包裹的模块'}</Tracker>
4、触摸滑动事件,是添加事件
<div // 触摸滑动事件
onTouchStart={_jt_.touchStart}
onTouchEnd={(e) => {
_jt_.touchEnd(e, this.scrollDom, {
event_type: 'click',
block_desc: '',
button_desc: 'slide_btn',
parameters: { objId },
});
}}
ref={(dom) => (this.scrollDom = dom)}
>