JAVA快速浏览_Java 快速使用

Java SDK 快速接入

最后更新于:2018-08-14 10:59:52

在使用前,请先阅读数据模型的介绍。

1. 事件设计表(示例)

事件设计表一般是由神策分析师和你们对接的同事,针对具体业务需求一起梳理的需要做埋点的 Excel 表。

事件和用户属性设计

事件表

用户表

事件名

事件属性

用户属性

商品浏览( ViewProduct )

商品 ID( ProductId )

用户等级属性( Level )

2. 引入及初始化 SDK

引入 SDK

方式一:推荐使用Maven管理 Java 项目,在 pom.xml 文件中,添加以下依赖信息

// ...

com.sensorsdata.analytics.javasdk

SensorsAnalyticsSDK

3.1.6

方式二:源码继承这个文件 SensorsAnalytics.java,代码链接

初始化 SDK

建议采用 ConcurrentLoggingConsumer + LogAgent 的方式进行数据采集,这样采集的好处是:数据实时导入 + 本地日志备份。

ConcurrentLoggingConsumer 配置方式如下

// 使用 ConcurrentLoggingConsumer 初始化 SensorsAnalytics

// 将数据输出到 /data/sa 下的 access.log.2018-05-21 文件中,每天一个文件

final SensorsAnalytics sa = new SensorsAnalytics(

new SensorsAnalytics.ConcurrentLoggingConsumer("/data/sa/access.log"));

3. 自定义事件追踪

SDK 初始化成功后,即可以通过

sa.track(distinct_id,is_login_id,event_name,properties)

记录事件:

例如:埋点 “ViewProduct” 事件,事件属性有商品 ID,商品类别,是否加入收藏夹。

// 用户的 Distinct Id

String distinctId = “ABCDEF123456789";

// 用户浏览商品

{

Map properties = new HashMap();

properties.put("ProductId", “123456"); // 商品 ID

properties.put("ProductCatalog", "Laptop Computer”); // 商品类别

properties.put("isAddedToFav", true); // 是否加入收藏夹,Boolean 类型的属性

// 记录用户浏览商品事件

sa.track(distinctId, true, "ViewProduct", properties);

}

4. 设置用户属性

可以使用 profileSet 方法设置用户属性,如年龄、性别等。

例如:设置用户的 “sex” 为 “男”。

String distinctId = "ABCDEF123456789";

// 设置用户性别属性(Sex)为男性

sa.profileSet(distinctId, true, "Sex", "Male");

Map properties = new HashMap();

// 设置用户等级属性(Level)为 VIP

properties.put("UserLv", "Elite VIP");

sa.profileSet(distinctId, true, properties);

5. 用户标识

详细的说明请参考如何准确的标识用户,必要时联系我们的技术支持人员。

对于未注册的匿名用户:

如果使用了神策前端 SDK,那么前端 SDK 会自动生成一个匿名 ID,

如果您没有使用前端 SDK (JS SDK / iOS SDK / Android SDK),则服务端也要生成一个随机 ID 作为用户标识 distinct_id。每一个随机 ID 被认为一个独立的用户。

注意:

所有的 track 和 profile 系列方法都必须同时指定用户 ID 及用户 ID 是否为登录 ID 这两个参数,以便明确告知 Sensors Analytics 用户 ID 的类型。

当同一个用户的 distinct_id 发生变化时(一般情况为匿名用户注册行为),可以通过 trackSignUp() 将旧的 distinct_id 和新的 distinct_id 关联,以保证用户分析的准确性。例如:

String anonymousId = "JKER1232JKJFD7217";

// 未注册前的匿名用户浏览商品

sa.track(anonymousId, false, “ViewProduct”);

String registerId = "shence123";

// 用户注册,将用户注册 ID 与 匿名 ID 关联

sa.trackSignUp(registerId, anonymousId);

// 记录用户浏览商品事件,此时系统会认为,用户 `shence123` 有两次浏览商品行为

sa.track(registerId, true, "ViewProduct");

6. Demo

package com.sensorsdata.analytics.javasdk;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.logging.Log;

public class HelloSensorsAnalytics {

public static void main(String[] args) throws Exception {

final SensorsAnalytics sa = new SensorsAnalytics(

new SensorsAnalytics.ConcurrentLoggingConsumer(“/home/work/app/logs/access_log"));

String anonymousId = "JKER1232JKJFD7217"; // 用户未登录时,可以使用神策前端 SDK 生成的匿名 id 来标识用户

// 匿名状态下的浏览商品事件

sa.track(anonymousId, false, "ViewProduct");

String registerId = "shence123";

// 用户注册或者登录,将用户真实 ID 与 匿名 ID 关联

sa.trackSignUp(registerId, anonymousId);

Map properties = new HashMap();

properties.clear();

//把 IP 传递给 SA,SA 会自动根据这个解析国家、省份、城市

properties.put("$ip", "123.123.123.123");

// 商品 ID

properties.put("ProductId", "123456");

// 商品类别

properties.put("ProductCatalog", "Laptop Computer");

// 登录状态下的浏览商品事件

sa.track(registerId, true, "viewProduct", properties);

sa.flush(); //立即发送缓存中的所有日志

sa.shutdown(); // 关闭 API,关闭时会自动调用 flush

}

}

生成的日志文件如下:

ebfd7118737a86477fb6a0760ea3a584.png

7. LogAgent

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值