@d1m-atom/universal-tracker
TypeScript icon, indicating that this package has built-in type declarations

1.0.18 • Public • Published

@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 必传
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与小程序打点点击进入有数文档

// 使用在 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'}]
);

Readme

Keywords

none

Package Sidebar

Install

npm i @d1m-atom/universal-tracker

Weekly Downloads

0

Version

1.0.18

License

ISC

Unpacked Size

38.6 kB

Total Files

11

Last publish

Collaborators

  • jackiewu2000
  • leachzhou
  • tjeeay