# track **Repository Path**: left-back/track ## Basic Information - **Project Name**: track - **Description**: track flutter - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-27 - **Last Updated**: 2023-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##### 1.项目依赖Trace 1.首先,需要添加Trace依赖到yaml文件 ``` flutter_track: git: url: https://gitee.com/left-back/track.git // ref: feature/test 指定分支名称,注意每次track项目有更新后,这里的依赖分支都需要变化,否则pub get后的代码不生效 之后在flutter工程下运行flutter pub get,然后再代码中初始化项目 备注: 加到门店项目后会有依赖冲突,解决方法把门店项目的依赖版本升级一下一下即可 package_info_plus: ^4.0.2 device_info_plus: 9.0.2 ``` 2.在门店项目中添加两个类 ``` class StoreTrackBean { String module; //模块 String function; //功能 String operation; //操作 StoreTrackBean( {required this.module, required this.function, required this.operation}); } class StoreTrack { //*接口埋点时间的名字*//* static String PORT_CLICK_EVENT = "click_module_usage"; static init() async { await Track.instance.init(); Track.instance.setProjectName("门店app") .setChannnel("渠道"); } static void sendPortRequest(StoreTrackBean event) { var userInfo = Global.curUser; var opUserId = 0; var opAccount = ""; var companyName = ""; var companyType = 0; var companyId = 0; if (userInfo != null) { opUserId = userInfo.id ?? 0; opAccount = userInfo.name ?? ""; companyName = userInfo.companyName ?? ""; companyType = userInfo.companyType ?? 0; companyId = userInfo.companyId ?? 0; } TrackPortEvent trackPort = TrackPortEvent( eventType: TrackEventType.CLICK, eventName: PORT_CLICK_EVENT); Map map = {}; map["action"] = "前端操作"; map["eventType"] = "前端埋点"; map["opUserId"] = opUserId; map["opAccount"] = opAccount; map["companyName"] = companyName; map["companyType"] = companyType; map["companyId"] = companyId; map["refEl"] = event.module; map["refEl2"] = event.function; map["refEl3"] = event.operation; trackPort.customerProp ??= {}; trackPort.customerProp![trackPort.eventName!] = map; Track.instance.sendTrace(trackPort); } } 在main 方法中初始化,调用 StoreTrack.init(); ``` 3.埋点方法调用 ``` StoreTrack.sendPortRequest(StoreTrackBean(module:"我的", function: '查看', operation: '点击')); ```