UNPKG

data-tracker-uni

Version:

非通用埋点追踪器,仅适用于 uni-app 的app前端项目。

125 lines (97 loc) 3.3 kB
# data-tracker-uni 非通用埋点,仅适用于 uni-app 的 app 前端项目。 ## 安装 ```bash npm install data-tracker-uni ``` ## 使用方法 ### 1. 在 main.js 引入并全局挂载 ```js import Tracker from "data-tracker-uni"; const tracker = new Tracker({ uni, // 传入 uni 实例 serverUrl: "http://your-server-url/openapi/gateway", // 埋点服务端地址 method: "dronehome.burypoint.put", // 上报方法(后端提供) appSecret: "你的私钥", // 必选,用于签名 pagesJson: pagesJson, // 必选,pages.json 配置 appId: "1001", // 应用ID(可选,默认1001) batchDelay: 10000, // 批量发送延迟(ms),可选,默认10000 }); uni.$tracker = tracker; // 全局挂载 ``` ### 2. 初始化埋点系统(建议在应用启动时调用) ```js await uni.$tracker.init(); // 必须初始化埋点 ``` ### 3. 常用埋点方法 - 页面访问统计 ```js uni.$tracker.trackPageView("热门"); ``` - 视频点击统计 ```js uni.$tracker.trackVideoClick("v_click", "热门", { id: 123, title: "xxx" }); ``` - 搜索事件 ```js uni.$tracker.trackSearch("无人机"); ``` - 视频发布 ```js uni.$tracker.trackVideoPublish("热门", { id: 123, title: "xxx" }); ``` - 用户注册 ```js uni.$tracker.trackUserRegister({ mobile: '138****8888', ... }) ``` - 应用启动 ```js uni.$tracker.trackAppStart(); ``` - 用户信息变更(如登录/登出/资料变更) ```js uni.$emit("storageChange", "userInfo"); ``` ### 4. 销毁与清理 - 应用退出时建议调用: ```js uni.$tracker.destroy(); ``` - 如需手动清理批量发送定时器: ```js uni.$tracker.clearBatchTimer(); ``` ## 参数说明 | 参数 | 类型 | 必填 | 说明 | | ---------- | ------ | ---- | -------------------------- | | uni | Object | 是 | uni-app 实例 | | serverUrl | String | 是 | 服务端地址 | | method | String | 是 | 上报方法 | | appSecret | String | 是 | 用于签名的密钥 | | pagesJson | Object | 是 | pages.json 配置 | | appId | String | 否 | 应用 ID,默认 1001 | | batchDelay | Number | 否 | 批量发送延迟,默认 10000ms | - 所有参数均有类型和有效性校验,传参错误会抛出异常。 ## 设备与用户信息 - 设备信息:`deviceId, osName, brand, md, pt, v` - brand 设备品牌 如:apple、huawei 等 字段为全小写 - osName 操作系统 android、ios - md 设备型号 - pt 平台类型 app、h5 - v 应用版本 - 用户信息:`user`(手机号字符串) ## 事件类型说明 - data_type: 1=应用启动,11=页面跳转,101=事件触发 - 常用事件名: - v_click:视频点击 - svr_click 搜索结果视频点击 - rv_click 推荐视频点击 - search:搜索 - pub_r:发布视频 - register:注册 ## 说明 - 需在 uni-app 环境下使用,并传入 uni 实例。 - serverUrl、appSecret 等参数请根据实际后端配置填写。 - 支持自定义扩展。 --- 如有问题欢迎反馈。