2.10.9 • Published 2 years ago

dndc-wxmp-analytics v2.10.9

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
2 years ago

TOC

安装

$ npm install dndc-wxmp-analytics@2.10.8 -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: '',  // 测试环境 'dev' 生产环境 'prod'
  event_code_url: '', //page平台生成-直接使用page生产地址
  show_log: false,
  black_pv_list: [],
})

// 神策配置
dndcAnalytics.loadSensorsData({
  // 测试环境 `server_url:'https://dongfengrichan-production.datasink.sensorsdata.cn/sa?token=17906b5c9eb1cda1&project=default'`
  // 生产环境 `server_url:'https://dongfengrichan-production.datasink.sensorsdata.cn/sa?token=17906b5c9eb1cda1&project=nissan_production'`
  server_url: '' // 根据环境使用上面的地址,
});

App({
  /** 为了方便后续页面的行为采集,请将 Statistics 的实例赋值给 App 的属性 */
  sa: dndcAnalytics,
});

参数列表

参数类型必填默认值说明
site_codestring-站点编码(咨询数据组获取)
app_idstring-appid
app_namestring-小程序名称
event_code_urlstring-事件码JSON
black_pv_listArray-收集页面浏览事件的路径黑名单
show_logbooleanFalse设置为 true 时,会在控制台打印 log 信息(用于开发模式)
send_timeoutnumber60000数据上报接口超时时间,单位为毫秒
source_channelArray否 w[]需要解析的渠道参数名称
track_ali_envdev | prodprod日志接口环境

神策配置mid

业务如有要求的情况下,当用户注册成功或者登录成功时,需要调用login()方法传入mid

const app = getApp();

app.sa.login("登录 ID");

点击事件采集

静态事件码

/** 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字段 image.png

令牌获取(特征编码)

业务如有要求的情况下,根据数据组要求特殊场景需要获取令牌后传给接口存储到业务表

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)
  },
});

弹窗事件

业务如有要求的情况下,根据数据组要求特殊场景发送popup事件

/** page.js */
const app = getApp();

Page({
  onClick() {
    app.sa.track({
      hit_type: 'popup',
      event_id: 'chebaba-app-20210105164547-1di0'
    });
  },
});

页面标题

在Page中配置saTitle

Page({
  saTitle: '页面标题',
  onShow() {
  // 页面代码
  }
})

在Component中配置saTitle(没有Page的情况)

Component({
  data: {
    saTitle: '页面标题',
  },
  methods: {},
});

秒针

秒针小程序API文档 传送门 秒针通码已封装到自建SDK,业务项目无需再引入秒针(历史项目需要移除秒针通码)。

/** app.js */
import Statistics from 'dndc-wxmp-analytics';

const dndcAnalytics = new Statistics({
  // ...
})
// 初始化秒针通码
dndcAnalytics.loadMiaozhen({
  appid: '',
  trackid: '', // 咨询数据组
})

App({
  sa: dndcAnalytics,
});

设置用户openid

const app = getApp();
app.sa.setOpenId('');

设置用户unionid

const app = getApp();
app.sa.setUnionId('');

设置用户信息

业务如有要求的情况下使用

const app = getApp();
wx.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事件触发即可 image.png

查看手动发送pageView事件是否有效

调用app.sa.pageView方法,搜索ali参数pagetitlepageid与发送的参数一致即可 image.png

秒针热力图

无需加载秒针通码,已在SDK加载

业务如有要求的情况下使用 因为微信小程序的限制,无法采集到控件的内容和结构数据,因此SDK无法自动收集用户的点击行为,所以我们采取的是声明式编程,需要小程序开发者绑定touchend事件

// 需要热图分析页面的顶层 View 控件
<view bindtouchend="handleTouchEnd">
...
</view>

const app = getApp()
Page({
  handleTouchEnd: (e) => {
    app.smwt.heatmap(e);
  }
})


// 将"test"替换为实际切片名称
app.smwt.setSection("test");

秒针通码修改内容

  • 变更初始化方法 init
  • 变更titleKey
  • 增加component构造器获取title

初始化样例

/** 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.loadMiaozhen({
  appid: '',
  trackid: '', // 咨询数据组
})

// 初始化神策通码
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设备品牌wx.getSystemInfoSync()自动获取
model设备型号wx.getSystemInfoSync()自动获取
platform客户端平台wx.getSystemInfoSync()自动获取
sr屏幕宽高wx.getSystemInfoSync()自动获取
system操作系统及版本wx.getSystemInfoSync()自动获取
version微信版本号wx.getSystemInfoSync()自动获取
client_id客户端ID自动读取

从 v1 到 v2

帮助你从1.x版本升级到2.x版本说明

移除废弃的 API

业务项目如果部署了秒针SDK,需要移除第三方相关代码,所有方法统一使用自建SDK方法

  • 移除了appInit方法, SDK自动获取
  • 移除了registerAppappendRegister方法, 使用setUsersetOpenIdsetUnionIdsetIsOneId代替
  • 移除了clearAllRegister方法,SDK处理
  • 移除了pageInit方法,SDK自动获取

track方法参数变更

移除第一个参数,例子如下

// v1
this.$app.sa.track('Click', {
  hit_type: 'click',
  event_id: 've_mp-20210203163908-1wbn',
});

// v2
this.$app.sa.track({
  hit_type: 'click',
  event_id: 've_mp-20210203163908-1wbn',
});
2.10.2

2 years ago

2.10.9

2 years ago

2.10.7

2 years ago

2.10.8

2 years ago

2.10.5

2 years ago

2.10.6

2 years ago

2.10.3

2 years ago

2.10.4

2 years ago

2.10.1

2 years ago

2.10.0

2 years ago

2.9.2

2 years ago

2.9.1

3 years ago

2.9.4

2 years ago

2.9.3

2 years ago

2.9.6

2 years ago

2.9.5

2 years ago

2.9.8

2 years ago

2.9.7

2 years ago

2.9.10

2 years ago

2.9.11

2 years ago

2.9.0-beta.4

3 years ago

2.9.0-beta.2

3 years ago

2.9.0-beta.3

3 years ago

2.9.0-beta.1

3 years ago

2.8.4

3 years ago

2.8.3

3 years ago

2.8.2

3 years ago

2.8.1

3 years ago

2.8.0

3 years ago

2.7.0

3 years ago

2.7.1

3 years ago

2.6.9

3 years ago

2.6.8

3 years ago

2.6.7

3 years ago

2.6.6

3 years ago

2.6.5

3 years ago

2.6.4

3 years ago

2.6.3

3 years ago

2.6.2

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.6

3 years ago

2.5.8

3 years ago

2.5.7

3 years ago

2.5.9

3 years ago

2.5.5

3 years ago

2.5.4

3 years ago

2.5.3

3 years ago

2.5.2

3 years ago

2.5.1

3 years ago