导入的sdk依赖

<dependency><groupId>com.sensorsdata.analytics.javasdk</groupId><artifactId>SensorsAnalyticsSDK</artifactId><version>3.1.16</version>
</dependency>

业务使用神策数据埋点的事件

 /*** 司机接单结果* @param passengerOrder  乘客订单信息*/@Async@Overridepublic void getMatchPassengerOrderSensorcParams(DrivingOrderDo passengerOrder , Integer  orderMileage , Integer failCode , boolean isSuccess){Map<String,Object> param = new HashMap<>();// 业务类型param.put("service_type","800");// 乘客订单IDparam.put("order_id", passengerOrder.getOrderId());// 订单类型param.put("order_type",String.valueOf(passengerOrder.getOrderType()));// 订单起点if(StringUtils.isNotEmpty(passengerOrder.getStartAddr())) {RpcAddrPointDto startAddress = JsonUtil.fromJson(passengerOrder.getStartAddr(), RpcAddrPointDto.class);param.put("order_departure", startAddress.getAddress());}// 订单终点if(StringUtils.isNotEmpty(passengerOrder.getEndAddr())) {RpcAddrPointDto endAddress = JsonUtil.fromJson(passengerOrder.getEndAddr(), RpcAddrPointDto.class);param.put("order_destination", endAddress.getAddress());}// 预约出发时间param.put("subscribe_time",passengerOrder.getAppointTime().longValue() * 1000);// 行程预估公里数param.put("estimate_mileage", orderMileage);// 是否成功param.put("is_success", isSuccess);// 失败原因param.put("fail_reason", String.valueOf(failCode));param.put("scan_order_type" , String.valueOf(passengerOrder.getOrderType()));param.put("valet_driver_type" , String.valueOf(passengerOrder.getIsForOther()));SensorsAo sensorsAo = new SensorsAo();// 事件类型sensorsAo.setEventName("DriverAcceptOrderResult");// 登录人idsensorsAo.setUserId(passengerOrder.getCarOwnerId());// 订单idsensorsAo.setOrderId(passengerOrder.getOrderId());// 推送参数sensorsAo.setParam(param);sensorsBurialSiteClusterEventProducer.sendSensorsEnlistEvent(sensorsAo);}

神策数据埋点的kafka生产者

package com.wanshun.order.cluster.producer;import com.wanshun.common.utils.JsonUtil;
import com.wanshun.constants.platform.daijiaservice.DaiJiaKafkaTopicConstants;
import com.wanshun.net.cluster.ClusterEventBusProducer;
import com.wanshun.net.cluster.metadata.ClusterEvent;
import com.wanshun.net.kafka.KafkaConfig;
import com.wanshun.rpcao.SensorsAo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;/*** 神策埋点kafka消息* @author htc*/
public class SensorsBurialSiteClusterEventProducer {public static Logger logger = LoggerFactory.getLogger(SensorsBurialSiteClusterEventProducer.class);private ClusterEventBusProducer producer;public SensorsBurialSiteClusterEventProducer(KafkaConfig kafkaConfig) {producer = ClusterEventBusProducer.getClusterEventBusProducer();producer.init(kafkaConfig);producer.addTopic(DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC, false);}/*** 神策埋点推送消息* @param sensorsAo 事件类* @return 处理结果*/public boolean sendSensorsEnlistEvent(SensorsAo sensorsAo) {ClusterEvent clusterEvent = new ClusterEvent();String topic = DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC;try {clusterEvent.setBalanceId(sensorsAo.getOrderId());clusterEvent.setData(JsonUtil.toJson(sensorsAo));clusterEvent.setClusterEventType(DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC_EVENTTYPE_SENSORS);boolean result = producer.publishImportantEvent(topic, clusterEvent);if (!result) {logger.info("神策埋点 推送消息, 但发送消息时,kafka发送异常 " +"orderId:{}", sensorsAo.getOrderId());throw new RuntimeException("发送事件异常");}else{logger.info("神策埋点 推送消息,发送成功 orderId {}" , sensorsAo.getOrderId());}}catch (Exception e){logger.error(e.getMessage(), e);}return true;}}

神策埋点消费者

package com.wanshun.cluster;import com.alibaba.fastjson.JSON;
import com.sensorsdata.analytics.javasdk.SensorsAnalytics;
import com.wanshun.constants.platform.daijiaservice.DaiJiaKafkaTopicConstants;
import com.wanshun.constants.platform.thirdplatform.ThirdplatformModuleConstant;
import com.wanshun.net.cluster.ClusterEventBusConsumer;
import com.wanshun.net.cluster.ClusterEventSubscribe;
import com.wanshun.net.cluster.listener.ClusterEventBusListener;
import com.wanshun.net.cluster.metadata.ClusterEvent;
import com.wanshun.net.kafka.KafkaConfig;
import com.wanshun.rpcao.SensorsAo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.transaction.annotation.Transactional;import java.util.Set;public class SensorsConsumer extends ClusterEventBusListener implements ApplicationContextAware {public final static Logger logger = LoggerFactory.getLogger(SensorsConsumer.class);@Autowiredprivate SensorsAnalytics sa;private final KafkaConfig kafkaConfig;private boolean isInit = false;public SensorsConsumer(KafkaConfig kafkaConfig) {this.kafkaConfig = kafkaConfig;}@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {if (!isInit) {synchronized (this) {if (!isInit) {isInit = true;ClusterEventSubscribe subscribe = new ClusterEventSubscribe();subscribe.addTopic(false, false, DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC);ClusterEventBusConsumer consumer = ClusterEventBusConsumer.getClusterEventBusConsumer(ThirdplatformModuleConstant.GROUP_NAME_SERVER, kafkaConfig);consumer.init(this, subscribe);}}}logger.info("三方服务kafka消费端启动");}@Overridepublic boolean checkCanStartConsumer(String topicName) {if ( DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC.equals(topicName)) {return true;}return false;}@Transactional@Overridepublic void eventNotify(String topicName, ClusterEvent clusterEvent) {logger.info("神策推送数据kafka消费事件: {}, topicName: {}", JSON.toJSONString(clusterEvent), topicName);if ( DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC.equals(topicName) &&DaiJiaKafkaTopicConstants.THIRDPLAT_SERVICE_OUTER_TOPIC_EVENTTYPE_SENSORS == clusterEvent.getClusterEventType()) {String data = clusterEvent.getData();SensorsAo sensorsAo = JSON.parseObject(data, SensorsAo.class);try {sa.track(sensorsAo.getUserId().toString(), sensorsAo.isFlag(), sensorsAo.getEventName(), sensorsAo.getParam());sa.flush();} catch (Exception e) {logger.error("hotfix神策推送数据失败,data:{},sensorsAo:{}", data, JSON.toJSONString(sensorsAo), e);}logger.info("神策推送数据kafka消费事件: {}, topicName: 成功{}", JSON.toJSONString(clusterEvent), topicName);}}@Overridepublic void notifyPartition(String topicName, Set<Integer> partitionSet) {}@Overridepublic void destroyPartition(String topicName, Set<Integer> partitionSet) {}
}

然后再去神策数据的官网查看对应的事件

神策数据埋点简单使用相关推荐

  1. 神策数据埋点大升级,一站式埋点,360° 满足你的不同场景需求

    埋点,就像是人的五感,人的五感用来接收视觉.听觉.触觉等多样化的信息:而埋点,是用来采集结构化的行为数据与业务数据. 人失去了五感中的一感,生活就会产生极大地不便,而做「互联网+」的业务,如果没有精确 ...

  2. uni-app神策数据埋点之配置+打包

    正在经历的项目需要做数据埋点,虽然神策有官方文档:uni-app SDK 但是一步一步跟着官方文档操作的时候,还是遇到了问题,特此记录一下: 1.集成 uni-app 插件 在官网神策分析 JS 插件 ...

  3. Vue前端神策数据埋点

    集成JS SDK 全埋点 1.从 npm 获取 sdk npm install sa-sdk-javascript 2.utils新建sensors.js文件夹,Vue全局挂载 import sens ...

  4. 恭喜 神策数据入选中国信通院开源供应商全景图

    近日,中国信息通信研究院(以下简称"中国信通院") 正式发布第二批开源供应商全景观察,神策数据作为大数据分析与营销科技服务提供商,有幸入选开源供应商全景图. 随着开源技术的热度不断 ...

  5. 神策数据 X 宁波银行数据体系建设实践

    当下,以客户为中心.以数据为驱动的数字化运营模式逐渐成为银行业提质增效的重要选择,而具备标准化.规模化的数据埋点建设能力,则是银行全面实现数字化运营的前提.建设面向运营应用的数据埋点体系,夯实数据根基 ...

  6. 神策数据 App 可视化全埋点 2.0 重磅升级!抢先体验

    伴随着大数据计算能力的软硬件环境成熟,国内大部分企业的数据意识在逐渐提升,寄希望于数据高效应用,基于数据驱动的力量推动决策落地.在这个过程中,数据采集作为数据应用的起点,其重要性不言而喻. 目前,神策 ...

  7. 埋点 神策小程序_第9讲. 神策数据获3000万美元 C+ 轮融资,A、B、C 轮资方全部跟投!...

    5月19日,神策数据 5 周年产品暨融资线上发布会正式召开.神策数据创始人 & CEO 桑文锋在发布会上宣布重磅融资信息,即获得由襄禾资本领投,晨兴资本.DCM 资本.华平投资.红杉资本中国基 ...

  8. h5 神策埋点_使用神策数据设置埋点

    使用神策数据设置埋点埋点介绍神策数据介绍demo 埋点介绍 埋点就是收集页面的浏览的记录,例如点击某个按钮的次数,搜索某个关键字的次数等 神策数据介绍 介绍:神策数据主要围绕用户行为分析,为用户完成数 ...

  9. vue项目中使用神策进行数据埋点

    前言: 在vue种使用神策进行数据埋点 一.数据埋点的意义: 所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问数(Visits ...

最新文章

  1. windows/linux计算文件 MD5值
  2. 创新的前端 豆瓣书评 摘录
  3. 第三次作业——结对编程
  4. django-xadmin使用之更改菜单url
  5. WorkerMan 入门学习之(二)基础教程-Connection类的使用
  6. gulp-cli命令安装出错_Java Mac上的安装
  7. 想请教知者几个地图问题
  8. postman发送Post请求
  9. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.8%
  10. 吉林大学计算机专业宿舍研究生,吉林大学计算机系的研究生宿舍怎么样?我想考那的..._在职考研_帮考网...
  11. 理解主从设备模式(Master-Slave)
  12. 微信小程序点击按钮弹出弹窗_转载 | 广东大学生就业创业微信小程序操作流程详解(一)...
  13. 通信原理及系统系列11—— 设计无码间串扰的通信系统(升余弦滚降滤波器)
  14. 计算机如何连接网络共享文件,电脑之间如何共享文件?
  15. 实习僧-产品体验报告
  16. 33 - Guarded Suspension模式 等待唤醒机制的规范
  17. [SSL_CHX][2021-8-20]最大质因子序列
  18. 2021阿里云、腾讯云、华为云、滴滴云评测比较
  19. 各站VIP***教程
  20. python第四次作业——陈灵院

热门文章

  1. [转]华为web安全原则
  2. 我的智能充电桩开发笔记(二):系统硬件电路设计概述
  3. 进程和计划任务管理(二)
  4. PQ-多表合并自动更新(笔记)
  5. 51单片机 串口通信
  6. RecurDyn仿真笔记
  7. MAKER避免重复运算
  8. 图像梯度(Image gradient)
  9. 索佳电子水准数据传输软件_徕卡DNA03电子水准仪数据传输步骤
  10. dais-86pro+实验指导书_风光互补并网发电与机电实训系统实验台, 风能太阳能发电实训装置_搜狐汽车...