# 数据统计
# 1、接口说明
DANGER
数据统计在SDK中会默认上报启动、登录、支付等数据到数据OSS平台,且不分国内海外。如果游戏需要接入其他更详细的数据上报到数据统计平台,请阅读数据统计接入文档。
国内海外数据统计接口是否唯一?
数据统计接口为统一接口,国内和海外相同。根据传入参数和
meta-data
配置参数的不同,将会上报数据到不同平台。
国内数据统计需上报到那些平台?
目前,数据统计在国内默认只会上报到数据统计平台。
海外数据统计需上报到那些平台?
目前,数据统计在海外默认只会上报到数据统计平台。如果需要上报到Adjust和Firebase,需要运营人员在开放平台配置三合一表格,研发人员无需进行额外的接入。
# 2、接口调用
上传各种事件到后台进行统计!
import com.dh.DHSDKHelper;
/**
* @param activity 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.getInstance().getAnalysis().trackEvent(activity, eventName, eventValue);
# 2.1、流程统计 必接
WARNING
新版多合一接口,包括日志上报、adjust、TikTok、Firebase等平台。
流程统计及日志游戏启动就可以上报,无需调用SDK初始化,其他数据统计使用此接口需要SDK初始化。
TIP
- eventName: 事件ID(运营提供),格式为:
六位数字::字符串
,如:000000::SDK_CLIENT_LAUNCH
- eventValue: 必须包含三个必填字段
(track_platform, log, log_level)
和任意自定义键值对。
调用代码示例如下:
import com.dh.DHSDKHelper;
import java.util.HashMap;
// 事件名称
String eventName = "000000::XXX_XXX_XXX";
// 事件数据:每次调用trackEvent时,需创建不同的eventValue。所有参数值类型均为字符串。
HashMap<String, Object> eventValue = new HashMap<>();
// 必传参数
eventValue.put("trackPlatform", "log"); // 固定,无需修改
eventValue.put("logLevel", "d"); // 必填,d:普通日志 or 流程统计;e:异常日志;
eventValue.put("logContent", "test"); // 必填,自定义日志内容
// 可选参数
eventValue.put("customKey", "customValue"); // 可选,自定义参数,customKey、customValue均可自定义
/**
* @param activity 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.getInstance().getAnalysis().trackEvent(activity, eventName, eventValue);
参数名称 | 是否必传 | 参数示例 | 参数说明 |
---|---|---|---|
trackPlatform | 是 | log | 固定值,无需修改 |
logLevel | 是 | d | 日志级别,"d" 表示普通日志或流程统计;"e" 表示异常日志 |
logContent | 是 | test | 自定义日志内容 |
# 2.2、新手引导 选接
import com.dh.DHSDKHelper;
import java.util.HashMap;
// 事件名称
String eventName = "guidestep";
// 事件数据:每次调用trackEvent时,需创建不同的eventValue。所有参数值类型均为字符串。
HashMap<String, Object> eventValue = new HashMap<>();
// 必传参数
data.put("trackPlatform", "dianhun"); // 固定值,无需修改
data.put("areaId", "1"); // 大区ID,若游戏无大区概念,则填1作为初始大区编号,和游戏服务器日志传值保持一致
data.put("roleId", "100002"); // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号ID
data.put("stepId", "10000"); // 引导步骤ID
data.put("stepState", "2"); // 引导步骤状态 1:进行中 2:已完成(不含跳过)3:跳过
// 可选参数
data.put("stepType", "pvp"); // 引导步骤分类
data.put("roleLevel", "143"); // 角色等级
data.put("roleVipLevel", "10"); // 角色VIP等级
data.put("stepParam", "H001"); // 引导步骤参数
data.put("extendParamJson", "{\"kills\":\"10\",\"deaths\":\"2\",\"assistant\":\"3\"}"); // 扩展参数,JSON格式字符串
/**
* @param activity 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.getInstance().getAnalysis().trackEvent(activity, eventName, eventValue);
# 2.3、按钮日志 选接
import com.dh.DHSDKHelper;
import java.util.HashMap;
// 事件名称
String eventName = "button";
// 事件数据:每次调用trackEvent时,需创建不同的eventValue。所有参数值类型均为字符串。
HashMap<String, Object> eventValue = new HashMap<>();
// 必传参数
data.put("trackPlatform", "dianhun"); // 固定值,无需修改
data.put("buttonId", "match_001"); // 按钮ID
// 可选参数
data.put("buttonType", "match"); // 按钮分类
data.put("pageId", "main_page"); // 按钮所在界面ID,用于分析用户操作路径
data.put("eventParam", "10"); // 操作参数,比如是跳转到另外一个页面,就填写结果页ID;匹配按钮则可以填匹配时间
data.put("areaId", "1"); // 大区ID,若游戏无大区概念,则填1作为初始大区编号,和游戏服务器日志传值保持一致
data.put("roleId", "100002"); // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号ID
data.put("extendParamJson", "{\"online_durt_tot\":\"12020\"}"); // 扩展参数,JSON格式字符串
/**
* @param activity 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.getInstance().getAnalysis().trackEvent(activity, eventName, eventValue);
# 2.4、自定义日志 选接
import com.dh.DHSDKHelper;
import java.util.HashMap;
// 事件名称
String eventName = "custom";
// 事件数据:每次调用trackEvent时,需创建不同的eventValue。所有参数值类型均为字符串。
HashMap<String, Object> eventValue = new HashMap<>();
// 必传参数
eventValue.put("trackPlatform", "dianhun"); // 固定值,无需修改
eventValue.put("eventName", "levelUp"); // 自定义的事件名
// 可选参数
eventValue.put("eventObj", "pay_btn"); // 操作对象,如果是按钮点击事件,则对应按钮ID
eventValue.put("eventCode", "login"); // 操作原因
eventValue.put("eventResult", "real_page"); // 操作结果
eventValue.put("areaId", "1"); // 大区ID,若游戏无大区概念,则填1作为初始大区编号,和游戏服务器日志传值保持一致
eventValue.put("roleId", "100002"); // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号ID
eventValue.put("extendParamJson", "{\"kills\":\"0\",\"deaths\":\"0\",\"assistant\":\"0\"}"); // 扩展参数
/**
* @param activity 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.getInstance().getAnalysis().trackEvent(activity, eventName, eventValue);