# 快速集成 通过以下方式可以快速完成SDK的集成体验方舟,更多方式请查SDK集成文档 ## 集成配置 下载[易观 uni-app sdk](https://ext.dcloud.net.cn/plugin?id=7572),将下载的 ans-uni-app-sdk 文件夹放在自己项目中。 添加后目录如下图所示 ![](https://img.kancloud.cn/22/e8/22e8819addaa784a59a54ac0fc749cf3_313x410.png) ## 获取上报地址 <a href="huo-qu-shang-bao-di-zhi" id="huo-qu-shang-bao-di-zhi"></a> 登录易观方舟系统后点击”管理“——”数据接入管理“——”集成SDK接入数据”——“获取数据接收地址” 点击后即可获取您的数据上报地址。 ![](https://img.kancloud.cn/7e/a4/7ea4d070a98a09a726f5fdbdc3d3a553_1526x748.png) ## SDK接入及初始化 >[info]uniapp 框架接入 ```javascript //框架(uniapp)开启全埋点接入方式示例: // main.js import AnalysysAgent from './js_sdk/AnalysysAgent-UNI-SDK/ans-uni-app-sdk/index.js' import Vue from 'vue' import App from './App' AnalysysAgent.init({ appkey: "/*设置为实际APPKEY*/", //APPKEY uploadURL: '/*设置为方舟项目上报的地址*/', autoTrack :true//框架(uniapp)开启全埋点接入方式示例: }); ``` >[info]注意:appkey 的值填入您具体的项目 appkey ## 引用全局函数 在各个 Page 内通过以下代码获取 AnalysysAgent全局函数: ```javascript const AnalysysAgent = uni.AnalysysAgent ``` ## 自定义事件接口 自定义事件接口,可以设置自定义属性。接口如下: ```javascript AnalysysAgent.track(eventName, eventInfo) ``` * eventName:事件ID,以字母或 `$` 开头,包含字母、数字、下划线和 `$`,字母不区分大小写,`$` 开头为预置事件/属性,不支持乱码和中文,取值长度 1 - 99字符 * eventInfo:自定义属性,用于对事件描述。eventInfo 最多包含 100条,且 key 以字母或 `$` 开头,包含字母、数字、下划线和 `$`,字母不区分大小写,`$` 开头为预置事件/属性,不支持乱码和中文,取值长度 1 - 99字符,value 支持类型:String/Number/boolean/内部元素为String的Array,若为字符串,取值长度 1 - 255字符 示例: ```javascript // 添加事件 AnalysysAgent.track("back"); ...... // 用户购买手机 var eventInfo = { "type":"Phone", "name":"Apple iPhone8", "money":4000, "count":1 } AnalysysAgent.track("buy", eventInfo); ``` ## 账号关联 用户关联的主要作用是打通用户登录前后的行为,做过用户关联的用户在登录前后的行为在方舟系统里面会被认为是一个用户。**建议在用户注册成功或者登录成功后客户端需要调用 alias 接口。** ```javascript AnalysysAgent.alias(aliasId); ``` * aliasId:需要关联的用户ID。 取值长度 1 - 255字符,支持类型:String 示例: ```javascript // 登陆账号时调用,只设置当前登陆账号即可和之前行为打通 AnalysysAgent.alias("sanbo"); ``` ## 设置用户固有属性 设置用户的固有属性,只在首次设置时有效的属性。 如:应用的激活时间、首次登录时间等。如果被设置的用户属性已存在,则这条记录会被忽略而不会覆盖已有数据,如果属性不存在则会自动创建。接口如下: ```javascript AnalysysAgent.profileSetOnce(propertyName, propertyValue); AnalysysAgent.profileSetOnce(propertyName, propertyValue, callbck); AnalysysAgent.profileSetOnce(property); AnalysysAgent.profileSetOnce(property, callbck); ``` * propertyName :属性名称,约束见[属性名称](js.md#1.1) * propertyValue :属性值,约束见[属性值](js.md#2.1) * property : 属性列表,约束见[属性名称](js.md#1.1),[属性值](js.md#2.1) * callback:数据发送完毕后的回调函数,支持类型:Function(需SDK版本4.4.1及以后支持) 示例: ```javascript var callback = function(){ console.log('数据上报完毕') } // 设置用户激活时间 AnalysysAgent.profileSetOnce("activationTime", "2018-06-18 18:18:18.188"); // 设置用户激活时间,并返回数据发送完毕 AnalysysAgent.profileSetOnce("activationTime", "2018-06-18 18:18:18.188", callback); // 设置用户性别和出生时间 var setOnceProfile = { "birth": "2018-06-18 18:18:18.188", "sex": "male", "userID": function(){ return '123456' } } AnalysysAgent.profileSetOnce(setOnceProfile); // 设置用户性别和出生时间,并返回数据发送完毕 AnalysysAgent.profileSetOnce(setOnceProfile, callback); ``` ## 设置用户属性 给用户设置单个或多个属性,如果之前不存在,则新建,否则覆盖。接口如下: ```javascript //设置单个用户属性 AnalysysAgent.profileSet(propertyName, propertyValue); //设置多个用户属性 AnalysysAgent.profileSet(property); ``` * propertyName :属性名称,约束见属性名称 * propertyValue :属性值,约束见属性值 * property : 属性列表,约束见属性名称,属性值 示例: ```javascript //设置用户的邮箱地址为yonghu@163.com AnalysysAgent.profileSet("Email", "yonghu@163.com"); ...... // 设置用户的邮箱和微信 var property = { "Email" : "yonghu@163.com", "WeChatID" : "weixinhao" } AnalysysAgent.profileSet(property); ``` ## 验证数据 开启Debug模式后,用户可以通过各个端开发者工具中的控制台中查看tag为`[analysys]`的Log日志 ![](https://img.kancloud.cn/57/d3/57d33e2059a04783a8e31a394982013a_1475x959.png)