webfunny埋点

  • 1. 新建点位字段
  • 2. 新建点位(进入点位仓库)
  • 3. 新建项目
  • 4. 创建SDK发布
  • 1. 新建发布任务
  • 2. 下载执行脚本
  • 5. 在项目内引入执行SDK
  • 1. 方式一:直接在head中添加下载的SDK文件代码
  • 2. 方式二: 把下载的js文件作为资源文件引入。
  • 6. 数据上报
  • 7. 在埋点系统里面配置信息
  • 1. 添加分組
  • 2. 新增卡片


上一篇文章写到了webfunny探针的安装与使用,从而达到对前端项目的监控。本篇文章讲webfunny埋点的使用。想了解webfunny探针安装的请参考我的上一篇文章。

1. 新建点位字段

用户点击新建字段,输入埋点的名称、类型、长度和描述,进行保存。字段名称支持汉字、英文,字段类型有文本和整数进行选择。

Java 页面埋点 还是业务的埋点 web端埋点_Java 页面埋点 还是业务的埋点


Java 页面埋点 还是业务的埋点 web端埋点_webfunny_02

2. 新建点位(进入点位仓库)

点位仓库就是我们用到的一个个埋点,用户根据自己的需要,选择不同的点位字段组合成一个点位

Java 页面埋点 还是业务的埋点 web端埋点_字段_03

3. 新建项目

创建项目,项目归属团队,只有该团队下的项目,用户才能看到,

Java 页面埋点 还是业务的埋点 web端埋点_字段_04


如果没有团队,去团队管理中新建团队。

4. 创建SDK发布

1. 新建发布任务

点击创建SDK按钮,完善相关信息

Java 页面埋点 还是业务的埋点 web端埋点_埋点_05

2. 下载执行脚本

Java 页面埋点 还是业务的埋点 web端埋点_字段_06


将脚本代码下载下来,等待下一步执行。

5. 在项目内引入执行SDK

如何在项目内集成 sdk js文件,有两种方式。

1. 方式一:直接在head中添加下载的SDK文件代码

<head>
    <script type="text/javascript"
      !function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";...
    </script>
</head>

2. 方式二: 把下载的js文件作为资源文件引入。

<head>
    <script src="xxxxx/sdk.js"></script>
</head>

我采用的是第二种方式:具体代码如下所示:

<head>
	<!--  webfunny监控和埋点    -->
    <script>
        if (location.host == '正式环境地址') {
            const jsName=['./webfunny.js','./webfunnySdk.js']
            for(var i=0;i<jsName.length;i++){
                const script=document.createElement('script')
                script.src=jsName[i]
                document.head.prepend(script)
                if (i === 1) {
                    window.webfunnyEvent = function (pointId) {
                        if (window._webfunnyEvent && typeof (window._webfunnyEvent) === 'object') {
                            if(Object.prototype.hasOwnProperty.call(window._webfunnyEvent, pointId)) {
                                return window._webfunnyEvent[pointId];
                            } else {
                                console.warn('pointId error');
                                return { trackEvent: () => { } }
                            }
                        } else {
                            console.warn('please check SDK');
                            return { trackEvent: () => { } }
                        }
                    }
                }
            }
        }
    </script>
</head>

其中,jsName的第一个元素是webfunny探针的代码,我也将其作为资源文件移入

6. 数据上报

集成SDK后只需要几行代码就能轻松搞定,由于我的数据上报是根据点位上报,所以需要知道当前SDK对应的点位值。如下所示:

Java 页面埋点 还是业务的埋点 web端埋点_字段_07


代码如下所示:

PS:我在前面已经有过展示:

//1、在宿主项目的 html head script 或 项目主入口中添加如下代码
window.webfunnyEvent = function (pointId) {
    if (window._webfunnyEvent && typeof (window._webfunnyEvent) === 'object') {
     
   if(Object.prototype.hasOwnProperty.call(window._webfunnyEvent, pointId)) {
          return window._webfunnyEvent[pointId];
        } else {
          console.warn('pointId error');
          return { trackEvent: () => { } }
        }
    } else {
        console.warn('please check SDK');
        return { trackEvent: () => { } }
    }
}


//2、调用方式为
//测试数据
 const data = {
    age: 20,
    name: '张三'
}

webfunnyEvent(10).trackEvent(data);

我再项目中所用到的埋点是统计页面点击量,所以需要在点击路由菜单时调用。代码如下所示:

// 点击菜单
      const clickMenuItem = (item: any) => {
        // 埋点各个菜单页面,记录页面的浏览量
        try {
          (window as any).webfunnyEvent[1].trackEvent({
            yongHuId: store.state.userinfo.userinfo.jobNo + store.state.userinfo.userinfo.name,
            dianJiNeiRong: item.key
          })
        } catch (error) {}
        router.push(item.key)
      }

7. 在埋点系统里面配置信息

1. 添加分組

2. 新增卡片

Java 页面埋点 还是业务的埋点 web端埋点_Java 页面埋点 还是业务的埋点_08

其中,查询条件是路由,因为我这里是对页面访问量进行统计。

Java 页面埋点 还是业务的埋点 web端埋点_Java 页面埋点 还是业务的埋点_09

到此为止,埋点结束!!!