# 数据统计

# 接口说明

用于上报并记录用户在游戏内的行为日志&事件(如:启动、登录、创角、充值等行为),方便观察数据的变化、快速定位问题的根源,以及追踪程序执行的过程等。

sdkInstance.trackEvent(eventId, eventParams);

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
eventId string -- 事件ID
eventParams object 条件必填 -- 事件参数;当 eventIdgameready 时无需传入

# 数据上报

# 流程统计上报

上报相关流程统计数据(程序或游戏行为日志),在SDK初始化完成后即可调用。

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 事件ID
const eventId = "100100::SDK_CLIENT_LAUNCH"; // 表示SDK客户端上报的启动事件

// 事件参数
const eventParams = {};

// 必填参数
eventParams.logLevel = "d"; // 日志类型,必填;d 用于标记普通(成功)日志,e 用于标记异常(失败)日志
eventParams.logContent = "SDK启动"; // 日志内容,必填;可以是描述文本或JSON字符串等任意字符串,如程序执行错误信息或网络请求响应信息等

// 执行上报
sdkInstance.trackEvent(eventId, eventParams);

SDK及游戏侧需按照《B站小游戏日志上报埋点模板》 (opens new window)完成部分流程统计基础日志埋点,其他扩展日志请根据游戏业务需要或运营需求自行定义,本文档不做要求,谢谢!

注意事项

  • 事件ID格式为 六位数字::字符串,即 6 位纯数字 + 英文双冒号 + SDK或GAME + SERVER或CLIENT + 动作或事件标识;如 100100::SDK_CLIENT_LAUNCH 表示SDK客户端上报的启动事件;事件ID应确保同一游戏内全局唯一!
  • 包含 ::SDK_CLIENT 字符的事件由SDK客户端负责上报,如有疑问请联系对接人员:丁伟、王占伟;
  • 包含 ::SDK_SERVER 字符的事件由SDK服务端负责上报,如有疑问请联系对接人员:邓泳辉、陈肖军;
  • 包含 ::GAME_CLIENT 字符的事件由游戏客户端负责上报,如有疑问请联系游戏客户端研发相关人员;
  • 包含 ::GAME_SERVER 字符的事件由游戏服务端负责上报,如有疑问请联系游戏服务端研发相关人员;
  • 事件参数 eventParams 必须包含 logLevellogContent 字段,其中 logLevel 固定为 de

# 启动场景上报

上报游戏启动阶段的自定义场景数据。调用该接口上报场景数据(场景需在B站开发者后台配置)后,开发者可以在B站小游戏管理后台查看上报数据,进行数据挖掘分析。使用前请注意阅读B站官方相关说明 (opens new window)

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 事件ID
const eventId = "scene"; // 固定为 scene,无需修改

// 事件参数
const eventParams = {};

// 必填参数
eventParams.sceneId = 7; // 场景ID,必填

// 可选参数
eventParams.costTime = 350; // 此场景的耗时,单位 ms
eventParams.dimension = { d1: "2.1.0" }; // 自定义维度数据,value 仅支持 String 类型,若 value 表示 Boolean 值,请将值处理为 "0" 或 "1" 后进行上报;若 value 表示 Number 值,请转换为 String 类型后进行上报
eventParams.metric = { m1: "546" }; // 自定义指标数据,value 仅支持数值且需转换为 String 类型后进行上报

// 执行上报
sdkInstance.trackEvent(eventId, eventParams);

注意事项

  • 事件ID eventId 固定为 scene,无需修改;
  • 事件参数 eventParams 必须包含 sceneId 字段;
  • 字段 dimension 中的 value 仅支持 String 类型,若 value 表示 Boolean 值,请将值处理为 "0""1" 后进行上报,若 value 表示 Number 值,请转换为 String 类型后进行上报;
  • 字段 metric 中的 value 仅支持数值且需转换为 String 类型后进行上报。

# 自定义事件上报

上报其他自定义事件;自定义事件的名称、参数无固定格式,请结合游戏业务需要或运营需求自行上报。

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 事件ID
const eventId = "custom"; // 固定为custom,无需修改

// 事件参数
const eventParams = {};

// 必传参数
eventParams.eventName = "play"; // 自定义事件名称,必填;如这里的 play 代表立即试玩事件
eventParams.extendParamJson = JSON.stringify({ accountId: 123456789, level: 10, vip: 3 }); // 扩展参数,必填;格式为JSON字符串,包含自定义属性键值对,若无自定义属性可传空对象 JSON.stringify({})

// 可选参数
eventParams.eventObj = "btn_play"; // 事件操作对象,如果是按钮点击事件,则对应按钮ID,如 btn_play
eventParams.eventCode = "play"; // 事件操作原因,如 play
eventParams.eventResult = "game_lobby"; // 事件操作结果,如果是按钮点击事件,则返回按钮点击的结果,例如跳转至另一个页面,则填写结果页ID,如 game_lobby
eventParams.areaId = "1001"; // 游戏大区ID,若游戏无大区概念,可不填,默认值为 1,表示初始大区编号
eventParams.roleId = "123456"; // 角色ID,若游戏无角色概念,可不填,默认值同 accountId 账号ID

// 执行上报
sdkInstance.trackEvent(eventId, eventParams);

注意事项

  • 事件ID eventId 固定为 custom,无需修改;
  • 事件参数 eventParams 必须包含 eventNameextendParamJson 字段。
Last Updated: 2026/4/29 10:42:44