# 数据统计

# 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))
Last Updated: 2024/11/6 09:22:16