集成Java SDK
在服务端 Java 应用中集成 Java SDK,来上报离线的用户行为。
我们推荐使用 管理 Java 项目,请在 pom.xml
文件中,添加以下依赖信息,Maven 将自动获取Java SDK 并更新项目配置。
<dependencies>
// ...
<dependency>
<groupId>io.growing.sdk.java</groupId>
<artifactId>growingio-java-sdk</artifactId>
<version>1.0.3</version>
</dependency>
</dependencies>
若出现依赖冲突的问题(例如运行时找不到类),可以使用 standalone
版本:
<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包中,包含了一个默认的配置文件
#项目采集端地址
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之中。例如:
#项目采集端地址
api.host=https://api.growingio.com
#项目ID
project.id=xxxxxxxxx
# 日志输出级别
logger.level=error
# 运行模式,test:仅输出消息体,不发送消息,production:发送消息
run.mode=production
Java SDK会优先读取gio.properties中的配置
调用SDK API发送事件
//事件行为消息体
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建议您按照如下步骤进行埋点数据的开发联调
在GrowingIO的网站中创建自定义事件以及对应的自定义事件变量
在您的Java项目中的pom.xml中增加GrowingIO Java SDK的依赖(首次集成需要)
参考上面的文档编写gio.properties文件并将run.mode定义为test
在您的Java项目中找到合适的埋点位置,参考上面的例子填入自定义事件需要的字段
执行对应修改部分的单元测试,或者编写一段测试程序运行修改部分的代码,确保触发埋点事件
在以上步骤全部成功后,修改gio.properties文件并将run.mode定义为production
在GrowingIO网站的实时监控模版中添加这个自定义事件,目标用户选择“全部登录用户“
再运行一次测试程序,确保能够在实时图表中看到您上传的这个事件
常见问题
为什么在GrowingIO中无法看到我上报的数据?
答:因为服务器端埋点事件无法关联访问用户,所以需要将目标用户修改为“全部登录用户“才能看到数据