快速集成
通过以下方式可以快速完成SDK的集成,更多方式请查SDK集成文档
集成配置
将以下JS代码复制到您所需分析页面中的<head>
和</head>
标签之间。只要保证在以下代码之下即可。无需等待window.onload
之后再执行。
<script>
(function(c) {
window.AnalysysAgent = window.AnalysysAgent || {}
var a = window.AnalysysAgent || {}
var ans = ['identify', 'alias', 'reset', 'track', 'profileSet', 'profileSetOnce', 'profileIncrement', 'profileAppend', 'profileUnset', 'profileDelete', 'registerSuperProperty', 'registerSuperProperties', 'unRegisterSuperProperty', 'clearSuperProperties', 'getSuperProperty', 'getSuperProperties', 'pageView', 'getDistinctId']
a['config'] = c
a['param'] = []
function factory (b) {
return function () {
a['param'].push([b, arguments])
return window.AnalysysAgent
}
}
for (var i = 0; i < ans.length; i++) {
a[ans[i]] = factory(ans[i])
}
if (c.name) {
window[c.name] = a
}
var date = new Date();
var time = new String(date.getFullYear()) + new String(date.getMonth() + 1) + new String(date.getDate());
var d = document,
c = d.createElement('script'),
n = d.getElementsByTagName('script')[0];
c.type = 'text/javascript';
c.async = true;
c.id = 'ARK_SDK';
c.src = '/*设置为JS SDK实际存放地址*/' +'?v=' +time; //JS SDK存放地址
n.parentNode.insertBefore(c, n);
})({
appkey: '/*设置为实际APPKEY*/', //APPKEY
uploadURL: '/*设置为实际地址*/'//上传数据的地址
})
</script>
获取上报地址
登录易观方舟系统后点击”管理“——”数据接入管理“——”集成SDK接入数据”——“获取数据接收地址”
点击后即可获取您的数据上报地址。

基础模块介绍
初始化方法
appkey(必须) 在网站获取的 AppKey
debugMode 设置调试模式:0 - 关闭调试模式(默认);1 - 开启调试模式,数据不入库;2 - 开启调试模式,数据入库
uploadURL(必须) 设置上传数据接口
autoTrack 设置是否启用全埋点功能:false - 不启用全埋点功能(默认);true - 启用全埋点功能(SDK 版本 4.4.0 及以后支持)
初始化示例代码
<script>
(function(c) {
window.AnalysysAgent = window.AnalysysAgent || {}
var a = window.AnalysysAgent || {}
var ans = ['identify', 'alias', 'reset', 'track', 'profileSet', 'profileSetOnce', 'profileIncrement', 'profileAppend', 'profileUnset', 'profileDelete', 'registerSuperProperty', 'registerSuperProperties', 'unRegisterSuperProperty', 'clearSuperProperties', 'getSuperProperty', 'getSuperProperties', 'pageView', 'getDistinctId']
a['config'] = c
a['param'] = []
function factory (b) {
return function () {
a['param'].push([b, arguments])
return window.AnalysysAgent
}
}
for (var i = 0; i < ans.length; i++) {
a[ans[i]] = factory(ans[i])
}
if (c.name) {
window[c.name] = a
}
var date = new Date();
var time = new String(date.getFullYear()) + new String(date.getMonth() + 1) + new String(date.getDate());
var d = document,
c = d.createElement('script'),
n = d.getElementsByTagName('script')[0];
c.type = 'text/javascript';
c.async = true;
c.id = 'ARK_SDK';
//首先您需要下载SDk,替换其中的地址为您本地目录绝对路径或者相对路径
c.src = '/*设置为JS SDK实际存放地址*/' +'?v=' +time; //JS SDK存放地址
n.parentNode.insertBefore(c, n);
})({
//设置APPKEY,
// 设置key,77a52s552c892bn442v721为样例数据,请根据实际情况替换相应内容
appkey: '77a52s552c892bn442v721',
//设置数据上报地址,请替换http://example.com为您上报地址
uploadURL: 'htts://example.com'//上传数据的地址
//开启Debug模式,上线时请设置0或删除代码
debugMode:2
//开启全埋点
autoTrack:true
})
</script>
自定义事件接口
用户行为追踪,可以设置自定义属性。接口如下:
AnalysysAgent.track(eventName);
AnalysysAgent.track(eventName, callback);
AnalysysAgent.track(eventName, properties);
AnalysysAgent.track(eventName, properties, callback);
eventName:事件ID,以字母或
$
开头,包含字母、数字、下划线和$
,字母不区分大小写,$
开头为预置事件/属性,不支持乱码和中文,取值长度 1 - 99字符properties:自定义属性,用于对事件描述。properties 最多包含 100条,且 key 以字母或
$
开头,包含字母、数字、下划线和$
,字母不区分大小写,$
开头为预置事件/属性,不支持乱码和中文,取值长度 1 - 99字符,value 支持类型:String/Number/boolean/JSON/内部元素为String的Array,若为字符串,取值长度 1 - 255字符callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
代码示例:
var callback = function() {
console.log('数据发送完毕')
}
// 添加事件
AnalysysAgent.track("back");
......
// 添加事件,并返回数据发送完毕
AnalysysAgent.track("back", callback);
......
// 用户购买手机
var eventInfo = {
"type":"Phone",
"name":"Apple iPhone8",
"money":4000,
"count":1,
"userID": function(){
return '123456'
}
}
AnalysysAgent.track("buy", eventInfo);
......
// 用户购买手机,并返回数据发送完毕
var eventInfo = {
"type":"Phone",
"name":"Apple iPhone8",
"money":4000,
"count":1,
"userID": function(){
return '123456'
}
}
AnalysysAgent.track("buy", properties, callback);
账号关联
用户关联的主要作用是打通用户登录前后的行为,做过用户关联的用户在登录前后的行为在方舟系统里面会被认为是一个用户。
建议在用户注册成功、登录成功后、或在检测登录状态的业务代码中需要调用 alias 接口。
接口如下:
AnalysysAgent.alias(aliasId);
AnalysysAgent.alias(aliasId, callback);
aliasId:需要关联的用户ID。 取值长度 1 - 255字符,支持类型:String
callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
// 登陆账号时调用,只设置当前登陆账号即可和之前行为打通
AnalysysAgent.alias("sanbo");
// 登陆账号时调用,只设置当前登陆账号即可和之前行为打通, 并返回数据发送完毕
var callback = function() {
console.log('数据发送完毕')
}
AnalysysAgent.alias("sanbo", callback);
设置用户属性
给用户设置单个或多个属性,如果之前不存在,则新建,否则覆盖。接口如下:
//设置单个用户属性
AnalysysAgent.profileSet(propertyName, propertyValue);
AnalysysAgent.profileSet(propertyName, propertyValue, callback);
//设置多个用户属性
AnalysysAgent.profileSet(property);
AnalysysAgent.profileSet(property, callback);
propertyName :属性名称,约束见属性名称
propertyValue :属性值,约束见属性值
callback :数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持)
示例:
var callback = function(){
console.log('数据上报完毕')
}
//设置用户的邮箱地址为[email protected]
AnalysysAgent.profileSet("Email", "[email protected]");
//设置用户的邮箱地址为[email protected],并返回数据发送完毕
AnalysysAgent.profileSet("Email", "[email protected]", callback);
......
// 设置用户的邮箱和微信
var property = {
"Email" : "[email protected]",
"WeChatID" : "weixinhao",
"userID": function(){
return '123456'
}
}
AnalysysAgent.profileSet(property);
// 设置用户的邮箱和微信,并返回数据发送完毕
AnalysysAgent.profileSet(property, callback);
验证数据
开启Debug模式后,可以通过在浏览器的开发者工具中查看相应上报日志

检查上报地址是否正确
检查是否发送成功
检查事件名称及内容与预期相同
最后更新于
这有帮助吗?