@d1m-atom/universal-tracker 小程序 官网H5 通用打点API
因为H5未测试打点,可能在初始化传参会少一些参数,其他api无改变
目前支持情况
有数小程序使用方法
import {Youshu} from '@d1m-atom/universal-tracker';
const sr = new Youshu({
sdk: require('./youshu.min.js'),
isDev: true,
token: 'bi72fccc7184ef4xxx',
appid: 'wx195745e8e342bxxx',
encrypt: false,
autoProxy: true,
autoProxyOptions: {},
platform: 'weapp',
chan: {},
scene: 1004
isOldTrackUp: true
});
App({
sr,
onLaunch : function( options ){},
onShow : function( options ){},
onHide : function(){}
});
传参方式
字段名 | 字段内容 | isRequire |
---|
sdk | 神策SDK引用包可以去有数官网下载 sr-sdk-wxapp-1.8.6.min.js | 必传 |
isDev | 是否为DEV环境 主要用于打log dev会自动把log打在控制台 | 必传 |
token | 有数Token | 必传 |
appid | 小程序AppId | 必传 |
platform | weapp jd alipay h5 tt qq | 必传 |
encrypt | 开启后数据传输加密,默认为false | 可不传 |
autoProxy | 开启自动代理,此功能为有数SDK核心功能,建议开启 默认 true | 可不传 |
autoProxyOptions | 代理设置详细参数见下方 | 可不传 |
chan | 渠道参数 参数见下方 | 可不传 |
scene | 场景值 会自动覆盖 chan 下的场景值 | 可不传 |
isOldTrackUp | 是否上报未初始化之前的打点 默认 false | 可不传 |
autoProxyOptions
字段名 | 字段内容 |
---|
app_launch | 开启后代理采集启动应用事件,默认为true |
app_show | 开启后代理采集显示应用事件,默认为true |
app_exit | 开启后代理采集隐藏应用事件,默认为true |
browse_page | 开启后代理采集浏览页面事件,默认为true |
leave_page | 开启后代理采集离开页面事件,默认为true |
autoTrack | 开启后代理采集元素事件,默认为true |
page_pull_down_refresh | 开启后代理采集下拉刷新页面事件,默认为true |
page_reach_bottom | 开启后代理采集上拉触底页面事件,默认为true |
page_share_app_message | 开启后代理采集分享页面事件,默认为true |
chan
字段名 | 字段内容 |
---|
scene | 小程序场景值,必填 例1037 |
chan_id | 引流渠道的标识符 |
chan_refer_app_id | 来源小程序或公众号appid |
chan_shop_id | 微信用门店ID,若需要计算门店业务则必填 |
chan_shop_name | 用户在有数的门店名称,展示字段,若chan_shop_id存在则必填 |
chan_custom | 自定义渠道参数 |
chan_custom 自定义渠道参数
字段名 | 字段内容 |
---|
chan_custom_id | 4级自定义渠道的标识符,是自定义渠道的最小粒度 例mp-article-12375,若填写了chan_custom相关任一字段需必填 |
chan_custom_id_desc | 4级自定义渠道的描述 例公众号文章(id=12375),若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_3 | 3级自定义渠道的标识符,3级是针对4级的分类,要求4级数据必须存在 例mp-article,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_3_desc | 3级自定义渠道的描述,若chan_custom_cat_3存在则必须存在 例公众号文章,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_2 | 2级自定义渠道的标识符,2级是针对3级的分类,要求34级数据必须存在 例media,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_2_desc | 2级自定义渠道的描述,若chan_custom_cat_2存在则必须存在 例媒体,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_1 | 1级自定义渠道的标识符,1级是针对2级的分类,要求234级数据必须存在 例wechat,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_1_desc | 1级自定义渠道的描述,若chan_custom_cat_1存在则必须存在 例微信,若填写了chan_custom相关任一字段需必填 |
方法
// true 开启打点 false 关闭打点
getApp().sr.trackStart(true | false);
// 写入 scene 值
getApp().sr.setChan({
scene: 123
})
getApp().sr.setUser({
open_id: '123',
app_id: '1111111',
user_id: 'asdfda',
union_id: "123333",
tag: [{ tag_id: false ? 'member' : 'guest', tag_name: false ? '会员用户' : '游客用户' }]
});
// track 参数为 object时,key为要打点的名,value为内容
getApp().sr.track(
{
click: {
name: '点击'
},
click1: {
name: '点击1'
},
}
);
// track 参数为 Array时 每一个数组为一个要打的点
getApp().sensors.track(
['click', {name: '点击'}],
['click1', {name: '点击1'}]
);
// 使用在 webview 内嵌页的小程序之中,可以联通会话状态。
getApp().sr.getInfo(
{
url: 'pages/xxx',
params: {
canshu1: 111,
},
}
);
神策使用方法
import {Sensors} from '@d1m-atom/universal-tracker';
const sensors = new Sensors({
serverUrl: "htttps://xxx.com"
sdk: require('./sensorsdata.min.js'),
isDev: true,
autoTrack: {
appLaunch: true,
appShow: true,
appHide: true,
pageShow: true,
pageShare: true,
mpClick: false,
mpFavorite: true,
pageLeave: false,
},
sourceChanne: ["custom_param"],
allowAmendSharePath: true
platform: 'weapp',
devicePlatform: 'mobile phone',
isOldTrackUp: true
});
App({
sensors,
onLaunch : function( options ){},
onShow : function( options ){},
onHide : function(){}
});
传参方式
字段名 | 字段内容 | isRequire |
---|
serverUrl | 神策服务器URL | 必传 |
sdk | 神策SDK引用包可以去神策官网下载 sensorsdata.min.js | 必传 |
isDev | 是否为DEV环境 主要用于打log dev会自动把log打在控制台 | 必传 |
autoTrack | 自动采集,下文详解 | 可不传 |
sourceChannel | 自定义渠道追踪参数,如 sourceChannel: "custom_param" | 可不传 |
allowAmendSharePath | 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等 | 可不传 |
platform | weapp swan alipay h5 rn tt | 必传 |
devicePlatform | mobile phone 根据神策要求传入 | 可不传 |
isOldTrackUp | 是否上报未初始化之前的打点 默认 false | 可不传 |
autoTrack
字段名 | 字段内容 |
---|
appLaunch | 默认为 true,false 则关闭 $MPLaunch 事件采集 |
appShow | 默认为 true,false 则关闭 $MPShow 事件采集 |
appHide | 默认为 true,false 则关闭 $MPHide 事件采集 |
pageShow | 默认为 true,false 则关闭 $MPViewScreen 事件采集 |
pageShare | 默认为 true,false 则关闭 $MPShare 事件采集 |
mpClick | 默认为 false,true 则开启 $MPClick 事件采集 |
mpFavorite | 默认为 true,false 则关闭 $MPAddFavorites 事件采集 |
pageLeave | 默认为 false, true 则开启 $MPPageLeave事件采集 |
方法
// true 开启打点 false 关闭打点
getApp().sensors.trackStart(true | false);
// 对于所有事件都需要添加的属性,可在初始化 SDK 前,调用 registerApp() 将属性注册为公共属性:
getApp().sensors.registerApp({
userLever: 'VIP3',
userSex: '男'
});
getApp().sensors.login({
userId: 'xxx'
});
getApp().sensors.setProfile({
// 只会覆盖一次 可以设定用户属性,同一个 key 多次设置时,value 值会进行覆盖替换:
onceParams: {
email:'xxx@xx',
favoriteFruits: ['苹果', '油桃'],
subscribers: 7277
},
// 多次覆盖 可以设定用户属性,同一个 key 多次设置时,value 值会进行覆盖替换:
params: {
email:'xxx@xx',
favoriteFruits: ['苹果', '油桃'],
subscribers: 7277
}
});
// track 参数为 object时,key为要打点的名,value为内容
getApp().sensors.track(
{
click: {
name: '点击'
},
click1: {
name: '点击1'
},
}
);
// track 参数为 Array时 每一个数组为一个要打的点
getApp().sensors.track(
['click', {name: '点击'}],
['click1', {name: '点击1'}]
);