1.3.14 • Published 5 months ago

@dingdaoos/dingcloud-sdk v1.3.14

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

数据采集JS-SDK

新手入门

什么是数据采集JS-SDK

  • JS数据采集SDK是为开发者提供的,用来统一并采集服务数据的前端集成工具,实现服务数据联运

数据采集JS-SDK能做什么

  • SDK可以完成常用的页面用户行为及元素的数据采集,完成数据加密上报至鼎道大数据平台
  • 可以支持服务快速接入

数据应用

  • 服务分析、用户分群、用户细查、转化分析、 服务推荐

产品使用指南

基础功能

只需引入SDK并初始化即可。引入方式参见下章前端快速接入中“初始化SDK”相关描述 如果只初始化SDK,则可以自动采集:应用打开、应用关闭、路由切换、进入可视区、离开可视区、浏览器滚动

拓展功能

如有产品个性化需求请使用拓展功能。引入方式参见下章前端快速接入中“拓展功能”相关描述

前端快速接入

npm安装

npm install @dingdaoos/dingcloud-sdk

项目示例

引入SDK

main.ts引用(区分vue2、vue3、react)

import DC_SDK from '@dingdaoos/dingcloud-sdk/dist/vue2'
import DC_SDK from '@dingdaoos/dingcloud-sdk/dist/vue3'
import DC_SDK from '@dingdaoos/dingcloud-sdk/dist/react'
初始化SDK
DC_SDK.track.init({
  AppKey: 'AppKey', // 应用key
  Process: 'cdt', // 环境区分
  UrlKeys: ['key1','key2','key3','key4','key5'], // 地址栏参数,数据上报会在Url中取值
  Debug: true, // 开启debug模式
  Scroll: true // 开启浏览器滚动监听
})

// vue应用挂在全局组件,方便使用,  react直接使用组件即可,无需全局注册

// vue2
Vue.component('Track', DC_SDK.TrackDomVue2) 

// vue3
const app = createApp(AppView) 
app.component('Track', DC_SDK.TrackDomVue3)
init参数说明
key描述是否必传类型value
AppKey应用唯一keyString-
Process环境区分Stringcdt测试环境cdp生产环境
Scroll开启浏览器滚动监听Boolean默认 false
UrlKeys地址栏参数,最多5个Array默认 []
Debugdebug模式Boolean默认 false
props: string其他自定义字段Any-

init传入的其他字段会作为全局参数,在上报数据时默认添加

post上报

post手动上报,要求传入数据的格式为json字符串或者object,转换方法:JSON.stringify(object)若传入格式有误,数据将无法正确采集,并会在控制台发出错误提示

DC_SDK.track.post({
   Event:'click',
   // ...其他字段
})
或者
DC_SDK.track.post(JSON.stringify({
   Event:'click',
   // ...其他字段
}))
post参数说明
key描述是否必传类型value
Event上报事件StringelementExposure (元素曝光)click(单击)dbclick(双击)hover(鼠标悬浮)leave(鼠标离开)onerror(服务/页面加载失败/错误)copy(内容元素复制)cut(内容元素剪贴)onselect(选中页面内容)keyboard(键盘输入)drag(拖拽)以下5个事件SDK会自动监听,无需开发者主动上报closeWeb(关闭应用)pageView(路由切换) isOnload = false pageView(打开应用) isOnload = truevisibilityChange(进入/离开可视区)scroll(浏览器滚动) 根据init参数判断是否监听
Object对象(触点)String对象的属性示例:button(按钮)link(链接)page(页面)operation(运营位) ...自定义
ObjectName对象名称String-
Content自定义内容String-
UserIdForBusiness用户标识String-
Source来源String-
ServiceId服务的ID该值如果在init时传,后续所有post都会带有该值,如果init不传,则post必须要传String-
ServiceVersion服务版本号String-
CurrentUrl当前urlString-
FromUrl前一个访问的urlString-
Title标题String-
ResTemp预留字段JSON格式字符串-
Measure服务计量JSON格式字符串-
updata更新
DC_SDK.track.updata({
   ...更新参数
   CookieId: true
})
// 更新参数updata 参数支持JSON,可更新init初始化时传入的其他参数或者新增全局参数

/*
  更新的字段中,CookieId较为特殊,它不会以传入的值覆盖原有值
  调用updata方法传入CookieId字段会重新生成一个随机id作为更新后的CookieId,不想更新则不传
  更新CookieId场景:根据对应产品需求决定退出登录是否要更新
*/
拓展功能

SDK提供的Track组件,可以自动采集元素的点击和元素的曝光事件,注册组件方法在上章“初始化SDK”中,注册后可在全局使用,使用示例如下:

// vue示例
<div class="home-page">
  <Track :commonParams="{ publicName: '公共参数' }" :clickParams="{ content: '点击事件上报的内容' }" :exposeParams="{ content: '曝光元素上报的内容' }">
    <button>提交按钮</button>
  </Track>
</div>

// react示例
import Track from '@dingdaoos/dingcloud-sdk/dist/react'

<div class="home-page">
  <Track.TrackDomReact :commonParams="{ publicName: '公共参数' }" :clickParams="{ content: '点击事件上报的内容' }" :exposeParams="{ content: '曝光元素上报的内容' }">
    <button>提交按钮</button>
  </Track.TrackDomReact>
</div>

上述示例button元素被SDK提供的Track组件包裹,当触发了点击和曝光事件,则SDK会自动上报数据

Track组件接收参数

使用该组件默认开启元素点击和曝光,如果不传任何参数则会上报init的基础字段,可根据参数关闭点击或者曝光 点击事件默认开启event.stopPropagetion,可根据参数关闭 commonParams优先级低于clickParams和exposeParams

key描述是否必传类型value
commonParams点击和曝光公共参数Object/Function默认 {}
exposeParams曝光参数Object/ Function默认 {}
clickParams点击参数Object/ Function默认 false
threshold曝光阈值(0 - 1)Number默认 0.5
closeExpose关闭曝光Boolean默认 false
closeClick关闭点击Boolean默认 false
closeClickStop关闭事件冒泡Boolean默认 false

commonParams、exposeParams、clickParams支持传入function,示例如下

<div class="home-page">  
  <Track 
    :commonParams="getCommonParams" 
    :clickParams="getClickParams"
    :exposeParams="getExposeParams"
    > 
  <button>提交按钮</button> 
   </Track>
</div>

<script>

function getCommonParams(){ 
  return { publicName: '公共参数' } 
} 

function getExposeParams(){ 
  return { content: '曝光元素上报的内容' }
} 

function getClickParams(){ 
  return { content: '点击事件上报的内容' }
 } 

<script>

提示:传入的函数不要执行,仅传入参数名即可

组件样式
<Track 
  class="track" 
  style="display: block;width:100px;height:100px;"
 >

 <button></button>
</Track>

<style>
.track{
  display: block;
  width:100px;
  height:100px;
}

</style>

默认的样式为display:inline,根据业务场景可修改样式 修改样式方法:定义class或者直接行内修改

SDK使用问题

Q:什么情况使用定制化埋点?

A:当元素需要收集点击或者曝光事件。

Q:使用定制化埋点时,如何关闭点击事件或者曝光事件?

A:给组件传入closeClick=true或者closeExpose=true。

Q:使用定制化埋点点击事件时,如何开启事件冒泡?

A:给组件传入closeClickStop=true。

Q:定制化埋点传入自定义参数为函数时执行多次?

A:由于Vue2编译导致的问题

exposeParams="fn()" 改成 exposeParams="fn" 
exposeParams="fn(param)" 改成 exposeParams="fn.bind(this, param)" 

function fn(param){
return {
  id: param.id
  name: param.name
 }
}
1.3.14

5 months ago

1.3.13

10 months ago

1.3.11

10 months ago

1.3.12

10 months ago

1.3.10

11 months ago

1.3.7

12 months ago

1.3.9

12 months ago

1.3.8

12 months ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.2.0

1 year ago

1.3.0

1 year ago

1.2.1

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.0.6

1 year ago

1.1.4

1 year ago

1.0.5

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

0.0.1-testtest

1 year ago

1.0.5-test

1 year ago

0.0.1-test1

1 year ago

1.0.2

1 year ago

1.0.4

1 year ago

1.0.3-beta

1 year ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.10-beta.2

2 years ago

0.0.10-beta.1

2 years ago

0.0.10-beta

2 years ago

0.0.9-beta

2 years ago

0.0.8-beta

2 years ago

0.0.7-beta.1

2 years ago

0.0.7-beta

2 years ago

0.0.6-beta

2 years ago

0.0.5-beta

2 years ago

0.0.4-beta

2 years ago

0.0.3-beta

2 years ago

0.0.2-beta

2 years ago

0.0.1-beta

2 years ago

1.1.13-beta

2 years ago

1.1.12-beta

2 years ago