1.0.4 • Published 4 years ago
dndc-ttmp-analytics v1.0.4
安装
$ npm install dndc-wxmp-analytics@2.8.3 -D配置文件
# 域名配置
development_host:
trackENV: dev
production_host:
trackENV: prod初始化
dndc-wxmp-analytics 需在 App 的 onLaunch 生命周期执行前配置初始化参数:
/** app.js */
import Statistics from 'dndc-wxmp-analytics';
const dndcAnalytics = new Statistics({
site_code: '', // 咨询数据组
app_id: '',
app_name: '小程序',
track_ali_env: mc.$hosts.trackENV,
event_code_url: '', //page平台生成-直接使用page生产地址
show_log: false,
black_pv_list: [],
})
App({
/** 为了方便后续页面的行为采集,请将 Statistics 的实例赋值给 App 的属性 */
sa: dndcAnalytics,
});参数列表
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| site_code | string | 是 | - | 站点编码(咨询数据组获取) |
| app_id | string | 是 | - | appid |
| app_name | string | 是 | - | 小程序名称 |
| event_code_url | string | 是 | - | 事件码JSON |
| black_pv_list | Array | 否 | - | 收集页面浏览事件的路径黑名单 |
| show_log | boolean | 否 | False | 设置为 true 时,会在控制台打印 log 信息(用于开发模式) |
| send_timeout | number | 否 | 60000 | 数据上报接口超时时间,单位为毫秒 |
| source_channel | Array | 否 w | [] | 需要解析的渠道参数名称 |
| track_ali_env | dev | prod | 否 | prod | 日志接口环境 |
点击事件采集
静态事件码
/** page.js */
const app = getApp();
Page({
onClick() {
app.sa.track({ hit_type: 'click', event_id: 'chebaba-app-20210105164547-1di0' });
},
});动态事件码
/** page.js */
const app = getApp();
Page({
onClick() {
app.sa.track({
hit_type: 'click',
event_id: 'chebaba-web-20210308084439-l9so-{carseries_id}-{cartype_id}',
event_info: {
dynamic: {
carseries_id: 17,
cartype_id: 279244,
},
},
});
},
});target字段
特殊情况只能使用id并需要知道具体的名称可以使用target字段
用target字段必须要有动态参数id
id可以传具体有意义的值、如商品ID、活动ID、广告ID,没有实际ID情况可以用序号
/** page.js */
const app = getApp();
Page({
onClick() {
app.sa.track({
hit_type: 'click',
event_id: 'chebaba-web-20210308084439-l9so-{id}',
event_info: {
dynamic: {
id: 11,
target: '海蓝色'
},
},
});
},
});如下图,如果数据组要求只有{序号}不需要具体名称,target可以不传。
非序号情况,都需要传target字段

令牌获取(特征编码)
根据数据组要求特殊场景需要获取令牌后传给接口存储到业务表
const app = getApp();
Page({
onClick() {
const resFeatureID = app.sa.track({
hit_type: 'feature'
});
console.log('resFeatureID', resFeatureID)
},
});特殊业务场景追加参数使用feature_extra
Page({
onClick() {
const resFeatureID = app.sa.track({
hit_type: 'feature',
feature_extra: {
custom: 'test',
}
});
console.log('resFeatureID', resFeatureID)
},
});页面标题
在Page中配置saTitle
Page({
saTitle: '页面标题',
onShow() {
// 页面代码
}
})在Component中配置saTitle(没有Page的情况)
Component({
data: {
saTitle: '页面标题',
},
methods: {},
});设置用户openid
const app = getApp();
app.sa.setOpenId('');设置用户unionid
const app = getApp();
app.sa.setUnionId('');设置用户信息
const app = getApp();
tt.getUserInfo({
success: res => {
app.sa.setUser(res.userInfo)
}
})设置is_oneid (pz1a联友ID)
const app = getApp();
app.sa.setIsOneId('');手动发送pageView事件
当同一个Page通过URL参数或者状态控制不同模块的展示,需要关闭当前页面pavaView自动触发,调整为手动触发
// app.js文件 埋点初始化配置关闭自动触发pageView
black_pv_list: ['pages/index/index']
// 手动触发pageView
app.sa.pageView({
title: '首页-车系',
pageid: 'pages/index/index'
})查看black_pv_list是否有效
配置pages/index/index,搜索ali刷新页面没有pageview事件触发即可

查看手动发送pageView事件是否有效
调用app.sa.pageView方法,搜索ali参数pagetitle、pageid与发送的参数一致即可

初始化样例
/** app.js */
import Statistics from 'dndc-wxmp-analytics';
const dndcAnalytics = new Statistics({
track_ali_env: mc.$hosts.track,
event_code_url: '', //page平台生成-直接使用page生产地址
show_log: false,
site_code: '', // 咨询数据组
app_id: '',
app_name: '小程序',
black_pv_list: [], // 收集页面浏览事件的路径黑名单
})
// 初始化神策通码
dndcAnalytics.loadSensorsData({
server_url: '', // 数据接收地址 - 咨询数据组获取,
});
App({
sa: dndcAnalytics,
onLaunch(options) {},
});采集字段
| 字段 | 字段说明 | 来源方式 |
|---|---|---|
| site_code | 主站编码 | 事件公共属性 |
| site_channel | 渠道 | 事件公共属性 |
| openid | 微信小程序用户 openid | 事件公共属性 |
| unionid | 微信小程序用户 unionid | 事件公共属性 |
| unionid | 微信小程序用户 unionid | 事件公共属性 |
| is_oneid | 联友oneid | 事件公共属性 |
| app_id | 微信小程序 app_id | 事件公共属性 |
| app_name | 微信小程序名称 | 事件公共属性 |
| scene | 场景值 | 自动读取 |
| path | 页面路径 | 自动获取 |
| pagetitle | 页面标题 | - |
| referrer | 来源页面 | 自动读取 |
| pageid | 页面源信息 | - |
| event_id | 事件编码 | - |
| event_info | 事件扩展信息 | - |
| event_name | 事件名称 | 自动读取 |
| hit_type | 类型(pageview|event) | - |
| smartcode | 推广入口 | 自动读取|事件公共属性 |
| sourcecode | 内部入口 | 自动读取|事件公共属性 |
| brand | 设备品牌 | tt.getSystemInfoSync()自动获取 |
| model | 设备型号 | tt.getSystemInfoSync()自动获取 |
| platform | 客户端平台 | tt.getSystemInfoSync()自动获取 |
| sr | 屏幕宽高 | tt.getSystemInfoSync()自动获取 |
| system | 操作系统及版本 | tt.getSystemInfoSync()自动获取 |
| version | 微信版本号 | tt.getSystemInfoSync()自动获取 |
| client_id | 客户端ID | 自动读取 |