JS SDK基础版
基础版本适用方舟4.3.3以上版本
JS SDK 使用说明
JS SDK 用于由 HTML 、 Css 及 Javascript 制作成的网站,集成前请先下载 SDK
SDK Releases包下载: Github地址(推荐):https://github.com/analysys/ans-javascript-sdk/releases Gitee地址:https://gitee.com/Analysys/ans-javascript-sdk/releases Releases中含有更新说明请您阅读,接口使用请参考本文档。
js文件
功能描述
是否必须
服务端版本
AnalysysAgent_JS_SDK.min.js
基础模块SDK
非ES6必须
全部
AnalysysAgent_JS_SDK.es6.min.js
基础模块SDK
ES6必须
全部
AnalysysAgent_JS_SDK.amd.min.js
基础模块SDK
AMD必须
全部
快速集成
如果您是第一次使用易观方舟产品,可以通过阅读本文快速了解此产品
1. 选择集成方式
目前我们提供了异步集成、同步集成等多种集成方式
2. 设置初始化接口
通过初始化代码的配置参数配置您的 AppKey
3. 设置上传地址
通过初始化代码的配置参数 uploadURL 设置您上传数据的地址。
4. 设置需要采集的页面或事件
通过手动埋点,设置需要采集的页面或事件。
5. 打开Debug模式查看日志
通过设置 Ddebug 模式,开/关 log 查看日志。
通过以上5步您即可验证 SDK 是否已经集成成功。更多接口说明请您查看 API 文档。
集成配置
有多种集成方式:
1 同步加载:将 SDK 作为用户网站资源,与用户网站资源一同根据页面结构从上到下按照顺序加载,直至资源加载都完毕后,运行相关 JS 代码;
2 异步加载:不参与用户网站资源加载,等待用户网站资源加载完毕,运行 JS 代码时,动态插入script 标签,进行 SDK 的加载,加载完毕后运行 JS 相关代码。
二者比较:
异步加载晚于同步加载,所以异步加载统计到的启动与页面打开事件要稍晚于同步加载;时间差 ≈ 异步加载时SDK加载时间
对于页面打开后快速跳转的网页,建议使用同步加载,因为该类网页有可能会在异步加载SDK未结束前跳转网页
将以下JS代码复制到您所需分析页面中的<head>和</head>标签之间。只要保证在以下代码之下即可。无需等待window.onload之后再执行。
将以下 JS 代码复制到您所需分析页面中的<head>和</head>标签之间。无需等待window.onload之后再执行。
从 npm 获取 SDK , npm install ans-javascript-sdk。也可以自行下载SDK。
从 npm 获取 sdk , npm install ans-javascript-sdk
自行下载SDK。获取AnalysysAgent_JS_SDK.amd.min.js,假设该文件放到与 require.js 同一目录中
请不要修改以上初始化代码中的代码逻辑,可能会造成SDK无法正常运行。
配置参数
appkey(必须) 项目数据的唯一标识,在产品当中 数据接入管理 模块获取的 AppKeydebugMode设置调试模式0 - 关闭调试模式(默认);
1 - 开启调试模式,数据不入库;
2 - 开启调试模式,数据入库
uploadURL(必须) 设置上传数据接口,在 数据接入管理-集成SDK接入数据 模块获取visitorConfigURL(若使用可视化埋点,则必须) 设置可视化配置获取接口name设置 JS SDK 全局对象别名auto设置自动采集页面打开事件false- 关闭自动采集;true- 开启自动采集(默认)
autoTrack设置是否启用全埋点功能false- 不启用全埋点功能(默认)true- 启用全埋点功能(SDK 版本 4.4.0 及以后支持)
autoHeatmap设置是否启用热图数据采集,即在产品当中可使用热图分析功能false- 不启用热图功能(默认);true- 启用热图功能
autoWebstay在开启热图功能(autoHeatmap设置为true)后,设置是否追踪页面滚动行为,即在产品当中可分析页面浏览深度false- 不追踪页面滚动行为;true- 在开启热图功能,追踪页面滚动行为(默认)
hash设置检测 url hash 变化:false- 关闭监测url hash变化;true- 开启监测url hash变化(默认)
autoProfile设置是否追踪新用户的首次属性false- 不追踪新用户的首次属性;true- 追踪新用户的首次属性(默认)
encryptType设置是否对上传数据加密0 - 对上传数据不加密(默认);
1 - 对上传数据进行AES 128位ECB加密;
2 对上传数据进行AES 128位CBC加密
pageProperty设置自动采集时页面自定义属性类型:JSON
pageViewBlackList设置自动采集页面统计黑名单类型:String/内部元素为String或Function的Array/Function
SDK 版本 4.4.0 及以后支持
heatMapBlackList设置热图统计黑名单类型:String/内部元素为String或Function的Array/Function
SDK 版本 4.4.0 及以后支持
autoClickBlackList设置全埋点统计黑名单;类型:String/内部元素为String或Function的Array/Function
SDK 版本 4.4.0 及以后支持
SDKFileDirectory设置可视化模块SDK与热图模块SDK存放目录类型:String
SDK 版本 4.4.0 及以后支持
sendType设置上传日志方式img- 使用image标签的图片链接地址上传日志(默认);post-使用Ajax中的post请求上传日志
webstayDuration设置追踪页面滚动行为时,最大停留时长默认值:5小时,单位:毫秒
类型:Number
cross_subdomain设置在二级域名下存储cookiefalse- 在自身域名下存储cookie;true- 在二级域名下存储cookie(默认)
sendDataTimeout设置上报日志超时时间默认:10000,单位:毫秒
类型:Number
SDK 版本 4.5.1 及以后支持
getDataTimeout设置获取可视化埋点列表的超时时间默认:10000,单位:毫秒
类型:Number
SDK 版本 4.5.1 及以后支持
trackList设置除默认可输出元素外的可触控元素列表类型:Array/String(同元素选择器,例如:div、div.className、div#id等)/ Function(返回值为Boolean)
SDK 版本 4.5.1 及以后支持
user_click_property设置全部或某个全埋点元素自定义属性类型:JSON(属性值为返回该元素自定义属性值的Function)/Function(返回值为该元素的自定义属性的JSON)
SDK 版本 4.5.1 及以后支持
appkey
appkey 为在网站获取的 AppKey。
value 在网站获取的 AppKey。类型:String。取值长度 1 - 255 字符。
debugMode
debugMode debug 模式,默认关闭状态。发布版本时 debugMode 模式设置为0
0 关闭调试模式(默认)。类型:Number。
1 开启调试模式,数据不入库。类型:Number。
2 开启调试模式,数据入库。类型:Number。
或删除 debugMode 参数。
uploadURL
uploadURL 为自定义上传地址,参数设置后,所有事件信息将上传到该地址。
value 类型:String。数据上传地址,格式为 scheme://host + :port(不包含/后的内容)。scheme 必须以 http:// 或 https:// 开头,host 只支持域名和 IP,取值长度 1 - 255字符,port 端口号必须携带
visitorConfigURL
visitorConfigURL 为获取可视化埋点配置信息的服务器地址,参数设置后,将从该服务器地址获取可视化埋点配置信息。
value 类型:String。获取可视化埋点配置信息的服务器地址,格式为 scheme://host + :port(不包含/后的内容)。scheme 必须以 http:// 或 https:// 开头,host 只支持域名和 IP,取值长度 1 - 255字符,port 端口号必须携带
name
name 为设置 JS SDK全局对象的别名。可根据自身所需进行更改。
value 类型:String。取值长度 1 - 255字符。
auto
auto 为设置打开/关闭自动采集页面的参数。可根据自身需要进行更改。
true 开启自动采集页面打开事件(默认)。类型:Boolean。
false 关闭自动采集页面打开事件。类型:Boolean。
hash
针对单页面网站的 $pageview 的采集,在将 hash 设置 true 后,可以自动监测 URL 的变化,改变时自动上报 $pageview 事件。
true,默认,类型:Boolean。
false,默认值,类型:Boolean。
autoProfile
autoProfile 为设置是否追踪新用户的首次属性。可根据自身需要进行更改。
true 追踪新用户的首次属性(默认)。类型:Boolean。
false 不追踪新用户的首次属性。类型:Boolean。
autoWebstay
autoWebstay 为设置是否追踪页面滚动行为。可根据自身需要进行更改。
true 追踪页面滚动行为。类型:Boolean。
false 不追踪页面滚动行为(默认)。类型:Boolean。
autoTrack
autoTrack 为设置是否启用全埋点功能。可根据自身需要进行更改。true 启用全埋点功能。类型:Boolean。
true 启用全埋点功能。类型:Boolean。
false 不启用全埋点功能(默认)。类型:Boolean。
autoHeatmap
autoHeatmap 为设置是否启用热图功能。可根据自身需要进行更改。
true 启用热图功能。类型:Boolean。
false 不启用热图功能(默认)。类型:Boolean。
encryptType
encryptType 为设置数据上传时的加密方式,目前只支持 AES 加密,如不设置此参数,数据上传不加密。。可根据自身需要进行更改。
0 对上传数据不加密(默认)。类型:Number。
1 对上传数据 AES 加密。类型:Number。
2 对上传数据进行AES 128位CBC加密。类型:Number。
pageProperty
pageProperty 为设置自动采集时页面自定义属性。可根据自身需要进行增加。
类型:JSON。
pageViewBlackList
pageViewBlackList 为设置自动采集页面统计黑名单。根据设置不在采集设置中的页面内自动采集的页面事件,不包含用户手动调用pageView API。(SDK 版本 4.4.0 及以后支持) 可根据自身需要进行增加。
类型:String/内部元素为String或Function的Array/Function。
heatMapBlackList
heatMapBlackList 为设置热图统计黑名单。根据设置不在采集设置中的页面内所有的热图事件。(SDK 版本 4.4.0 及以后支持) 可根据自身需要进行增加。
类型:String/内部元素为String或Function的Array/Function。
autoClickBlackList
autoClickBlackList 为设置全埋点统计黑名单。根据设置不在采集设置中的页面内所有的全埋点事件。(SDK 版本 4.4.0 及以后支持) 可根据自身需要进行增加。
类型:String/内部元素为String或Function的Array/Function。
SDKFileDirectory
SDKFileDirectory 设置可视化模块SDK与热图模块SDK存放目录。可根据自身需要进行增加。(SDK 版本 4.4.0 及以后支持)
类型:JSON。
sendType
sendType 为设置日志上传方式。可根据自身需要进行增加。
类型:String。
:img类型支持需要方舟4.2.2版本支持,如您使用的方舟版本低于4.2.2版本请更换发送方式
webstayDuration
webstayDuration 为设置追踪页面滚动行为时,最大停留时长。可根据自身需要进行增加。默认值:5小时
类型:Number
单位:毫秒
cross_subdomain
cross_subdomain 为设置在二级域名下存储cookie:false - 在自身域名下存储cookie;true - 在二级域名下存储cookie(默认)。例如:一个用户在同一浏览器中访问a.analysys.cn与b.analysys.cn两个域,cross_subdomain为true时,该用户为一个用户。cross_subdomain为false时,该用户为两个用户。
类型:Boolean
sendDataTimeout
sendDataTimeout 设置上报日志超时时间 。默认:10000。单位:毫秒。类型:Number 可根据自身需要进行增加。(SDK 版本 4.5.1 及以后支持)
类型:
Number
getDataTimeout
getDataTimeout设置获取可视化埋点列表的超时时间。默认:10000。单位:毫秒。 类型:Number (SDK 版本 4.5.1 及以后支持)
类型:
Number
trackList
trackList 设置除默认可输出元素外的可触控元素列表。类型:(SDK 版本 4.5.1 及以后支持)
类型:
Array/String(同元素选择器,例如:div、div.className、div#id等)/Function(返回值为Boolean)
user_click_property
user_click_property 设置全部或某个全埋点元素自定义属性。(SDK 版本 4.5.1 及以后支持)
类型:
JSON(属性值为返回该元素自定义属性值的Function)/Function(返回值为该元素的自定义属性的JSON)
基础模块介绍
统计页面接口介绍
页面跟踪,SDK 默认设置跟踪所有页面,支持自定义页面信息。接口如下:
pageName:页面标识,为字符串,取值长度 1 - 255字符。
properties:页面信息,为K-V键值对,最多包含100条,且
key是以字母开头的字符串,必须由 字母、数字、下划线组成,字母不区分大小写,不支持 乱码、中文、空格等,长度范围1-99字符。value支持类型:
String,长度范围1-255字符
Number
Boolean
JSON
内部元素为String的Array
返回值String/Number/Boolean/的Function(需SDK版本4.4.1及以后支持)
callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
统计事件接口
用户行为追踪,可以设置自定义属性。接口如下:
eventName:自定义事件ID标识,以字母开头的字符串,必须由字母、数字、下划线组成,
$开头为预置事件/属性,不支持乱码、中文、空格等,长度范围1-99字符。properties:自定义属性,K-V键值对,用于对事件的描述。最多包含100条,且
key是以字母开头的字符串,必须由 字母、数字、下划线组成,字母不区分大小写,不支持 乱码、中文、空格等,长度范围1-99字符。value支持类型:
String,长度范围1-255字符
Number
Boolean
JSON
内部元素为String的Array
返回值String/Number/Boolean/的Function(需SDK版本4.4.1及以后支持)
callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
匿名ID与用户关联
用户关联的主要作用是打通用户登录前后的行为,以及多屏登录后的行为。做过用户关联的用户在登录前后的行为在方舟系统里面会被认为是一个用户。方舟系统目前支持 一台设备只能绑定一个用户 ID,一个用户 ID 只能绑定一台设备。设备和用户 ID 绑定后,就无法再和其他用户或者设备进行绑定。例如一个用户的设备 ID 是 ABC 用户的登录 ID 是 123,绑定成功后会对应同一个 ID,这样在统计或者分析时会被认为是一个用户。在用户注册成功或者登录成功后客户端需要调用 alias 接口,建议埋点时观看下 方舟 SDK 接入视频 接口描述如下:
用户 id 关联接口。将需要绑定的用户ID 和匿名ID进行关联,计算时会认为是一个用户的行为。接口如下:
aliasId:需要关联的用户ID。 取值长度 1 - 255字符,支持类型:String
callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
用户属性设置
用户属性是一个标准的 K-V 结构,K 和 V 均有相应的约束条件,如不符合则丢弃该次操作。
约束条件如下:
属性名称
属性值
设置用户固有属性
设置用户的固有属性,只在首次设置时有效的属性。 如:应用的激活时间、首次登录时间等。如果被设置的用户属性已存在,则这条记录会被忽略而不会覆盖已有数据,如果属性不存在则会自动创建。接口如下:
propertyName :属性名称,约束见属性名称
propertyValue :属性值,约束见属性值
callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
设置用户属性
给用户设置单个或多个属性,如果之前不存在,则新建,否则覆盖。接口如下:
propertyName :属性名称,约束见属性名称
propertyValue :属性值,约束见属性值
callback :数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
设置用户属性相对变化值
设置用户属性的相对变化值(相对增加,减少),只能对数值型属性进行操作,如果这个 Profile之前不存在,则初始值为0。接口如下:
propertyName:属性名称,约束见属性名称
propertyValue:属性值,约束见属性值
callback :数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
增加列表类型的属性
用户列表属性增加元素。接口如下:
示例:
删除设置的属性值
删除已设置的用户属性值。接口如下:
propertyName:属性名称,约束见属性名称
callback :数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
匿名ID设置
唯一匿名ID标识设置,接口如下:
distinctId:自定义设备身份标识,取值长度 1 - 255字符,支持类型:String
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
匿名ID获取
获取用户通过identify接口设置或自动生成的id,优先级如下: 用户设置的id > 代码自动生成的id
接口如下:
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
通用属性
通用属性是每次上传事件信息都会带有的属性,通用属性是一个标准的 K-V 结构,K 和 V 均有相应的约束条件,如不符合则丢弃该次操作。
约束条件如下:
属性名称
属性值
注册通用属性
某一个体,在固定范围内,持续拥有的属性,每次数据上传都会携带。接口如下:
superPropertyName:属性名称,约束见属性名称
superPropertyValue:属性值,约束见属性值
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
删除通用属性
根据属性名称,删除已设置过的通用属性。接口如下:
superPropertyName:属性名称,约束见属性名称
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
获取通用属性
查询获取通用属性。接口如下:
superPropertyName:属性名称,约束见属性名称
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
获取预置属性
获取预置属性。接口如下:
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:获取预置属性
清除本地设置
清除本地现有的设置(包括 id 和通用属性)重新开始统计。接口如下:
callback :数据处理完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:清除本地现有的设置,包括id和通用属性
最后更新于
这有帮助吗?