旧-帮助文档
回到 GrowingIO
  • GrowingIO 帮助文档
  • 快速提交工单
  • 快速上手-Web
  • 快速上手-移动端
  • 快速上手-小程序
  • 产品更新日志
  • 分析工具
    • 事件分析
    • 用户分群
    • 用户细查
    • 漏斗分析
    • 活动分析
    • 落地页分析
    • 分布分析
    • 智能路径
    • 留存分析
    • 留存魔法师
    • 活跃用户分析
    • 热图分析
      • Web 端热图
      • App 热图
    • 单图
    • 微信应用用户分析
    • 小程序-分享分析
  • 看板
    • 自定义首页
    • 概览看板
    • KPI看板(企业版)
    • 小程序预置看板
    • 微信内嵌页预置看板
    • 实时监控模板
    • 业务场景
  • GIO 小程序看数助手
  • 广告监测
    • 创建监测链接
      • 推广 App
      • 推广网页
      • 推广小程序(微信)
    • 数据报表
      • 应用级数据
      • 深度数据分析
      • 数据指标说明
    • 推广管理
      • 监测链接
      • 广告活动
      • 推广渠道
    • 渠道配置指南
      • 腾讯社交广告
      • 今日头条
      • 百度原生信息流
      • 微博超级粉丝通
      • 爱奇艺
      • Inmobi
      • 微信广告平台
      • 凤羽广告平台
      • bilibili(B 站)
    • 其他功能
      • 日志导出
      • 维度配置
      • 权限配置
      • 反作弊规则
      • 深度链接配置
    • 相关知识
      • UTM 参数使用指南
      • 创建小程序的推广码
      • 移动端转化归因
      • 默认的渠道来源跟踪
      • DeepLink 启用新域名
    • 广告监测FAQ
  • SDK 文档
    • SDK 简介与安全性说明
    • 各平台 SDK 支持明细
    • SDK 更新日志
    • Web JS SDK
      • Web JS SDK API
      • Web JS SDK 常见问题
    • Android SDK
      • Android 无埋点 SDK
      • Android 无埋点 SDK API
      • Android 半自动采集浏览事件
      • Android 埋点 SDK
      • Android SDK 常见问题
    • iOS SDK
      • iOS 无埋点SDK
      • iOS SDK API
      • iOS 半自动采集浏览事件
      • iOS SDK 1.X旧版本升级指导
      • iOS 埋点SDK
      • iOS SDK 常见问题
    • Hybrid SDK (App内嵌H5)
    • 小程序、小游戏以及内嵌页 SDK
      • SDK 更新日志 - 小程序 & 内嵌页 & 快应用
      • 微信小程序 SDK
        • mpvue+第三方插件 添加代码
      • 微信小游戏 SDK
      • H5 内嵌页 SDK
      • 支付宝小程序 SDK
      • 百度小程序 SDK
      • QQ 小程序 SDK
      • 字节跳动小程序 SDK
      • 快应用 SDK
    • React Native 无埋点 SDK
      • ReactNative 埋点 SDK
    • Flutter 埋点 SDK
    • Cordova 埋点 SDK
    • Weex 埋点 SDK
    • API Cloud埋点 SDK
    • AppCan 埋点 SDK
    • Java 埋点 SDK
    • PHP 埋点 SDK
    • GrowingIO Debugger
      • 验证打点事件
  • 数据模型
    • 用户模型
      • 访问用户
      • 登录用户
      • 用户属性
    • 事件模型
      • 什么是事件
      • 无埋点事件
        • 访问事件及属性
        • 页面事件及属性
        • 动作事件及属性
      • 埋点事件
        • 埋点事件及属性
    • 统计模型
      • 指标--事件的度量
      • 维度--事件的属性
      • 预定义的指标和维度
  • 数据定义
    • 用户变量
      • 登录用户变量
      • 访问用户变量
    • 页面级变量
      • 查询条件直接设置成页面级变量
    • 无埋点圈选
      • Web 圈选
      • App 端圈选 App
      • 电脑端圈选 App
      • 小程序数据定义
      • 微信内嵌页数据定义
      • 圈选指标管理
        • 合并简单指标
        • 复合指标
    • 埋点事件
      • 埋点事件级变量
      • 转化变量
    • 小程序事件和变量
  • 数据管理
    • 新版数据管理功能说明
    • 无埋点事件管理
    • 埋点事件管理
    • 变量管理
    • 合并事件管理
    • 计算指标
  • 系统配置
    • 组织管理
    • 项目管理
    • 用户管理
    • 权限管理
    • 爬虫规则
    • 账号管理
    • UTM 映射管理
    • IP及域名数据过滤
  • API
    • GrowingIO API 认证
    • 广告监测链接创建服务 API
    • 微信小程序二维码创建服务 API
    • 原始数据导出 API
      • 原始数据导出字段说明
        • 无埋点事件
        • 埋点事件与变量
        • 广告相关数据
        • 通用字段说明
      • 原始数据导出 2.0 API
      • 原始数据导出 1.0 API(已废弃)
      • 原始数据导出 API 的升级迁移
      • 原始数据导出格式及处理建议
    • 统计数据导出 API
    • 埋点数据上传API
    • 用户变量上传 API
    • 项目管理 API
    • 数据管理 API (GDPR)
    • API 更新日志
  • 常见问题
    • 基本问题
    • SDK 集成
    • 圈选常见问题
    • 指标和维度
    • 数据安全
    • 产品使用
    • 数据统计差异
    • 无效指标清理说明
  • 内容贡献者
  • 帮助文档问题反馈
Powered by GitBook
On this page
  • 集成Java SDK
  • 配置Java SDK
  • 调用SDK API发送事件
  • 程序调试
  • 常见问题
  1. SDK 文档

Java 埋点 SDK

PreviousAppCan 埋点 SDKNextPHP 埋点 SDK

Last updated 5 years ago

集成Java SDK

在服务端 Java 应用中集成 Java SDK,来上报离线的用户行为。

我们推荐使用 管理 Java 项目,请在 pom.xml 文件中,添加以下依赖信息,Maven 将自动获取Java SDK 并更新项目配置。

pom.xml

    <dependencies>
      // ...
      <dependency>
        <groupId>io.growing.sdk.java</groupId>
        <artifactId>growingio-java-sdk</artifactId>
        <version>1.0.3</version>
      </dependency>
    </dependencies>

若出现依赖冲突的问题(例如运行时找不到类),可以使用 standalone 版本:

pom.xml

    <dependencies>
      // ...
      <dependency>
        <groupId>io.growing.sdk.java</groupId>
        <artifactId>growingio-java-sdk</artifactId>
        <version>1.0.3</version>
        <classifier>standalone</classifier>
      </dependency>
    </dependencies>

目前,Java SDK 支持的Java版本为 Java 1.6+。

配置Java SDK

在Java SDK的jar包中,包含了一个默认的配置文件

gio_default.properties
#项目采集端地址
api.host=https://api.growingio.com

#项目ID
#project.id=填写您项目的AccountID

#消息发送间隔时间,单位ms(默认 100)
send.msg.interval=100

#消息发送线程数量
send.msg.thread=3

#消息队列大小
msg.store.queue.size=500

# 数据压缩 false:不压缩, true:压缩
# 不压缩可节省cpu,压缩可省带宽
compress=true

# 日志输出级别(debug | error)
logger.level=debug

# 自定义日志输出实现类
logger.implemention=io.growing.sdk.java.logger.GioLoggerImpl

# 运行模式,test:仅输出消息体,不发送消息,production:发送消息
run.mode=test

#http 连接超时时间,默认2000ms
#connection.timeout=2000

#http 连接读取时间,默认2000ms
#read.timeout=2000

其中,开发者需要根据自己的情况修改配置参数,保存为gio.properties,并放置在自己Java程序的classpath之中。例如:

gio.properties
#项目采集端地址
api.host=https://api.growingio.com

#项目ID
project.id=xxxxxxxxx

# 日志输出级别
logger.level=error

# 运行模式,test:仅输出消息体,不发送消息,production:发送消息
run.mode=production

Java SDK会优先读取gio.properties中的配置

调用SDK API发送事件

SDK-Demo.java
//事件行为消息体
GIOEventMessage eventMessage = new GIOEventMessage.Builder()
    .eventTime(System.currentTimeMillis())            // 事件时间,默认为系统时间(选填)
    .eventKey("BuyProduct")                           // 事件标识 (必填)
    .loginUserId("417abcabcabcbac")                   // 登录用户ID (必填)
    .addEventVariable("product_name", "苹果")          // 事件级变量 (选填)
    .addEventVariable("product_classify", "水果")      // 事件级变量 (选填)
    .addEventVariable("product_price", 14)            // 事件级变量 (选填)
    .build();

//上传事件行为消息到服务器
GrowingAPI.send(eventMessage);

程序调试

GrowingIO建议您按照如下步骤进行埋点数据的开发联调

  1. 在GrowingIO的网站中创建自定义事件以及对应的自定义事件变量

  2. 在您的Java项目中的pom.xml中增加GrowingIO Java SDK的依赖(首次集成需要)

  3. 参考上面的文档编写gio.properties文件并将run.mode定义为test

  4. 在您的Java项目中找到合适的埋点位置,参考上面的例子填入自定义事件需要的字段

  5. 执行对应修改部分的单元测试,或者编写一段测试程序运行修改部分的代码,确保触发埋点事件

  6. 在输出的日志中查找是否包含期望事件内容

  7. 在以上步骤全部成功后,修改gio.properties文件并将run.mode定义为production

  8. 在GrowingIO网站的实时监控模版中添加这个自定义事件,目标用户选择“全部登录用户“

  9. 再运行一次测试程序,确保能够在实时图表中看到您上传的这个事件

  10. 如有问题,请您随时联系您的客户成功经理

常见问题

为什么在GrowingIO中无法看到我上报的数据?

答:因为服务器端埋点事件无法关联访问用户,所以需要将目标用户修改为“全部登录用户“才能看到数据

Maven