前端埋点解决方案

一、前言:基于神策数据的前端埋点解决方案 JavaScript 快速使用 · 神策分析使用手册预览版

二、sdk gitlab下载地址

https://github.com/sensorsdata/sa-sdk-javascript/releases

或者npm 安装

复制代码
npm i sa-sdk-javascript

三、入门

3.1 接入sdk 以及配置 (version 1.17.2),入口文件接入sdk 以及添加配置

复制代码
<script>
(function(para) {
  var p = para.sdk_url, n = para.name, w = window, d = document, s = 'script',x = null,y = null;
  w['sensorsDataAnalytic201505'] = n;
  w[n] = w[n] || function(a) {return function() {(w[n]._q = w[n]._q || []).push([a, arguments]);}};
  var ifs = ['track','quick','register','registerPage','registerOnce','clearAllRegister','trackSignup', 'trackAbtest', 'setProfile','setOnceProfile','appendProfile', 'incrementProfile', 'deleteProfile', 'unsetProfile', 'identify','login','logout','trackLink','clearAllRegister'];
  for (var i = 0; i < ifs.length; i++) {
    w[n][ifs[i]] = w[n].call(null, ifs[i]);
  }
  if (!w[n]._t) {
    x = d.createElement(s), y = d.getElementsByTagName(s)[0];
    x.async = 1;
    x.src = p;
    y.parentNode.insertBefore(x, y);
    w[n].para = para;
  }
})({
      sdk_url: 'sensorsdata.min.js',
      name: 'sensors',
      //数据接收地址
      server_url: 'https://report.woodpeckerlog.com/sa?project=production',
      //控制台是否显示日志
      show_log: false,
      send_type: 'beacon',
      app_js_bridge: true,
      //url改变触发
      is_track_single_page: true,
      heatmap: {
         //是否开启点击图,默认 default 表示开启,自动采集 $WebClick 事件,可以设置 'not_collect' 表示关闭
         clickmap:'default',
         //是否开启触达注意力图,默认 default 表示开启,自动采集 $WebStay 事件,可以设置 'not_collect' 表示关闭
         scroll_notice_map:'not_collect'
      }
      //配置打通 App 与 H5 的参数
      use_app_track: true,
      use_client_time: true,
    });  
    // 首次触发页面加载事件
    sensors.quick('autoTrack'); //神策系统必须是1.4最新版及以上
</script>

3.2 npm 使用方式

复制代码
import sensors from'sa-sdk-javascript';
sensors.init({
  server_url: '...',
  heatmap: {
     //是否开启点击图,默认 default 表示开启,自动采集 $WebClick 事件,可以设置 'not_collect' 表示关闭
     //需要 JSSDK 版本号大于 1.7
     clickmap:'default',
     //是否开启触达注意力图,默认 default 表示开启,自动采集 $WebStay 事件,可以设置 'not_collect' 表示关闭
     //需要 JSSDK 版本号大于 1.9.1
     scroll_notice_map:'not_collect'
  }
  .......
});
sensors.login(user_id);
sensors.quick('autoTrack');

四、常用api

4.1 公共属性注册

复制代码
sensors.registerPage({
   isLogin:xxxxxx
})

4.2 自定义事件使用

复制代码
sensors.track('自定义事件名称', {
       params1: xxx,
       params2: xxx,
});
相关推荐
kyriewen4 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒4 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
小林攻城狮4 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦5 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer5 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队5 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY5 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_5 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏6 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站6 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控