# 数据统计
# 1、数据统计上报
# 1.1 新手引导(选接二级)
import { DHRequestCode, DHResultCode, DHSDKHelper, DHUploadGameInfoType } from 'dhsdkhelper'
//新手引导数据结构
let newUserLog: ESObject = {
trackPlatform: 'dianhun', // 固定值,无需修改
areaId: '1', // 大区ID,和游戏服务器日志传值保持一致
roleId: '1696674719', // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号id
stepId: '10000', // 引导步骤ID
stepState: '2', // 引导步骤状态 1:进行中 2:已完成(不含跳过)3:跳过
// 可选参数,不使用不声明
stepType: 'pvp', // 引导步骤分类
roleLevel: '10', // 角色等级
roleVipLevel: '10', // 角色VIP等级
stepParam: 'H001', // 引导步骤参数
extendParamJson: '{\"kills\":\"10\",\"deaths\":\"2\",\"assistant\":\"3\"}'// 扩展参数,JSON格式字符串
}
/**
* @param context 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.trackEvent(getContext(this), 'guidestep',JSON.stringify(newUserLog))
# 1.2 按钮日志(选接二级)
import { DHRequestCode, DHResultCode, DHSDKHelper, DHUploadGameInfoType } from 'dhsdkhelper'
//按钮日志数据结构
let buttonLog: ESObject = {
trackPlatform: 'dianhun', // 固定值,无需修改
buttonId: 'match_001', // 按钮ID
// 可选参数,不使用不声明
buttonType: 'pvp', // 按钮分类
pageId: '10', // 按钮所在界面ID,用于分析用户操作路径
eventParam: '10', // 操作参数,比如是跳转到另外一个页面,就填写结果页ID;匹配按钮则可以填匹配时间
areaId: '1', // 大区ID,和游戏服务器日志传值保持一致
roleId: '1696674719', // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号id
extendParamJson: '{\"kills\":\"10\",\"deaths\":\"2\",\"assistant\":\"3\"}'// 扩展参数,JSON格式字符串
}
/**
* @param context 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.trackEvent(getContext(this), 'button',JSON.stringify(buttonLog))
# 1.3 自定义日志(选接二级)
import { DHRequestCode, DHResultCode, DHSDKHelper, DHUploadGameInfoType } from 'dhsdkhelper'
//自定义数据日志
let defineLog: ESObject = {
trackPlatform: 'dianhun', // 固定值,无需修改
eventName: 'levelUp', // 自定义事件名
// 可选参数,不使用不声明
eventObj: 'pvp', // 操作对象,如果是按钮点击事件,则对应按钮ID
eventResult: '10', // 操作原因
eventCode: '10', // 操作参数,比如是跳转到另外一个页面,就填写结果页ID;匹配按钮则可以填匹配时间
areaId: '1', // 大区ID,若游戏无大区概念,则填1作为初始大区编号,和游戏服务器日志传值保持一致
roleId: '1696674719', // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号id
extendParamJson: '{\"kills\":\"10\",\"deaths\":\"2\",\"assistant\":\"3\"}'// 扩展参数,JSON格式字符串
}
/**
* @param context 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.trackEvent(getContext(this), 'custom',JSON.stringify(defineLog))
# 2、流程统计上报
WARNING
新版三合一接口,包括日志上报、adjust、Firebase
TIP
- eventName: 事件ID(运营提供),格式为:
六位数字::字符串
,如:000000::SDK_CLIENT_LAUNCH
- eventValue: 必须包含两个必填字段
(log, log_level)
和可选任意自定义键值对。
import { DHRequestCode, DHResultCode, DHSDKHelper, DHUploadGameInfoType } from 'dhsdkhelper'
//流程统计数据结构,除了内部定义的字段,支持研发追加自定义的字段
let testLog: ESObject = {
logContent: 'test', // 日志具体内容,值研发自定义传入
/**
* logLevel 日志级别
* d:普通日志
* e:异常日志
*/
logLevel: 'd'
}
/**
* @param context 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.trackEvent(getContext(this), '000000::SDK_TEST',JSON.stringify(testLog))