1.0.18 • Published 8 months ago

@d1m-atom/universal-tracker v1.0.18

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

@d1m-atom/universal-tracker 小程序 官网H5 通用打点API

需要内网NPM点击进入

因为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必传
platformweapp 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_id4级自定义渠道的标识符,是自定义渠道的最小粒度 例mp-article-12375,若填写了chan_custom相关任一字段需必填
chan_custom_id_desc4级自定义渠道的描述 例公众号文章(id=12375),若填写了chan_custom相关任一字段需必填
chan_custom_cat_33级自定义渠道的标识符,3级是针对4级的分类,要求4级数据必须存在 例mp-article,若填写了chan_custom相关任一字段需必填
chan_custom_cat_3_desc3级自定义渠道的描述,若chan_custom_cat_3存在则必须存在 例公众号文章,若填写了chan_custom相关任一字段需必填
chan_custom_cat_22级自定义渠道的标识符,2级是针对3级的分类,要求34级数据必须存在 例media,若填写了chan_custom相关任一字段需必填
chan_custom_cat_2_desc2级自定义渠道的描述,若chan_custom_cat_2存在则必须存在 例媒体,若填写了chan_custom相关任一字段需必填
chan_custom_cat_11级自定义渠道的标识符,1级是针对2级的分类,要求234级数据必须存在 例wechat,若填写了chan_custom相关任一字段需必填
chan_custom_cat_1_desc1级自定义渠道的描述,若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与小程序打点点击进入有数文档

// 使用在 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 中自动获取这些参数来查看具体分享来源、层级等可不传
platformweapp swan alipay h5 rn tt必传
devicePlatformmobile 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'}]
);
1.0.18

8 months ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago