# 埋点 SDK (代号:medici) > medici,美地奇,指Lorenzo Medici,洛伦佐·美第奇,美地奇家族 文艺复兴时伟大收藏家,亦是现代最大收集/收藏的家族之一。 # browser (浏览器行为) 内置,取 XHR header, userAgent,os, deviceInfo, navigator,location, navigator.connection 等封装。 # Event(全局事件行为类型) 1. click 2. delete 3. upload ## PV/UV 内置功能 ## SDK 初始化 (monorepo) > 1.普通 es 引包 ```js import * as medici from "@medici/web"; medici.init({ url: "xxxxxx/tracking/log/save", config: { user: "xxxxxx", version: "xxxxxxxx", //client version }, }); ``` > 2.小程序 es ```js import * as medici from "@medici/miniApp"; medici.init({ url: "xxxxxx/tracking/log/save", config: { user: "xxxxxx", version: "xxxxxxxx", //client version }, }); ``` > 3.其他 amd 或源引入 ```js ; medici.init({ url: "xxxxxx/tracking/log/save", config: { user: "xxxxxx", version: "xxxxxxxx", //client version }, }); ``` > 隐藏带上 SDK version ## 页面(采集) #### 实现两种方法() 1. 全局注册页面 ```js medici.setPages([ { scene: "/scene", setting: "/setting", }, ]); ``` > 简单的 key:value, 影射页面采集 2. 接入各 mmvm 的 router(vue-router,react-router) 或原生 history 监控。 以 routerName:url, 影射页面采集, ## 点位(采集) > 主业务事件:eventType ### 一次消费埋点 ```js medici.track("BuyProduct", { eventType:"click", ProductName: "MacBook Pro", ProductPrice: 123.45, IsAddedToFav: false, ... // 其他自定业务字段 }); ``` ### 二次消费埋点(闭环) > 开始,主要对接,init startTime,大部分参数等, maxWaitTime 是默认 30s,如果超过这个时间没有冲正 endTrack 的提示 warning. ```js medici.startTrack("BuyProduct", { eventType:"click", maxWaitTime: 30000, //可自定义,主要是下载等行为耗时。 ProductName: "MacBook Pro", ProductPrice: 123.45, IsAddedToFav: false, ... // 其他自定业务字段 }); ``` > 结束 ,init endTime, 后补参数 ```js medici.endTrack("BuyProduct", { ... // 后补参数 }); ``` --- ## API (初定字段) | 名称 | 类型 | 是否必须 | 默认值 | 备注 | | :----------: | :----: | :------: | :----: | :----------------------------------------: | | traceId | string | 必须 | | 业务串联码 | | requestType | string | 必须 | | 业务:BUSINESS(默认);心跳:HEARTBEAT | | channel | string | 必须 | | 渠道,例如四维看看,指房宝 | | userId | string | 非必须 | | | | time | string | 非必须 | | 请求时间戳 | | requestUrl | string | 非必须 | | | | requestData | string | 非必须 | | 请求数据 ,xhr request data | | TrackingType | string | 非必须 | | 埋点类型,前端:FRONT(默认),后端:BACKEND | | srcPageUrl | string | 必须 | | 发起请求页面 (location) | | actionType | string | 必须 | | | | actionName | string | 必须 | | | | userIP | string | 非必须 | | | | userIpAdress | string | 非必须 | | | | userAgent | string | 必须 | | UA | | networkType | string | 必须 | | | | requestId | string | 非必须 | | | | duration | string | 非必须 | | | | result | string | 非必须 | | | | endTime | string | 非必须 | | 请求结束时间 | ## 其他问题. 1. 脱敏处理,()crytojs,看加密级别。 2.