跳到主要内容

数据统计

1、数据统计上报

1.1 新手引导(选接二级)

import { DHRequestCode, DHResultCode, DHSDKHelper, DHUploadGameInfoType } from 'DHSDKHelper'

//新手引导数据结构
let newUserLog: ESObject = {
track_platform: 'dianhun', // 固定值,无需修改
zid: '1', // 大区ID,和游戏服务器日志传值保持一致
sid: '1', // // 大区的下一级,若游戏无服概念,则填1作为初始服编号,和游戏服务器日志传值保持一致
role_id: '1696674719', // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号id
step_id: '10000', // 引导步骤ID
step_state: '2', // 引导步骤状态 1:进行中 2:已完成(不含跳过)3:跳过

// 可选参数,不使用不声明
step_type: 'pvp', // 引导步骤分类
role_level: '10', // 角色等级
vip_level: '10', // 角色VIP等级
step_param: 'H001', // 引导步骤参数
extend_param_json: '{\"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 = {
track_platform: 'dianhun', // 固定值,无需修改
button_id: 'match_001', // 按钮ID

// 可选参数,不使用不声明
button_type: 'pvp', // 按钮分类
page_id: '10', // 按钮所在界面ID,用于分析用户操作路径
opt_param: '10', // 操作参数,比如是跳转到另外一个页面,就填写结果页ID;匹配按钮则可以填匹配时间
zid: '1', // 大区ID,和游戏服务器日志传值保持一致
sid: '1', // // 大区的下一级,若游戏无服概念,则填1作为初始服编号,和游戏服务器日志传值保持一致
role_id: '1696674719', // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号id
extend_param_json: '{\"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 = {
track_platform: 'dianhun', // 固定值,无需修改
event: 'levelUp', // 自定义事件名

// 可选参数,不使用不声明
opt_obj: 'pvp', // 操作对象,如果是按钮点击事件,则对应按钮ID
opt_res: '10', // 操作原因
opt_reason: '10', // 操作参数,比如是跳转到另外一个页面,就填写结果页ID;匹配按钮则可以填匹配时间
zid: '1', // 大区ID,和游戏服务器日志传值保持一致
sid: '1', // // 大区的下一级,若游戏无服概念,则填1作为初始服编号,和游戏服务器日志传值保持一致
role_id: '1696674719', // 角色ID,游戏内唯一(不同区服之间也不允许重复),建议纯数字。若游戏无角色概念,则填账号id
extend_param_json: '{\"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 = {
log: 'test', // 日志具体内容,值研发自定义传入
/**
* log_level 日志级别
* d:普通日志
* e:异常日志
*/
log_level: 'd'
}
/**
* @param context 上下文
* @param eventName 事件名称
* @param eventValue 事件数据
*/
DHSDKHelper.trackEvent(getContext(this), '000000::SDK_TEST',JSON.stringify(testLog))