# 数据统计
# 接口说明
用于上报并记录用户在游戏内的行为日志&事件(如:启动、登录、创角、充值等行为),方便观察数据的变化、快速定位问题的根源,以及追踪程序执行的过程等。
sdkInstance.trackEvent(eventId, eventParams);
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| eventId | string | 是 | -- | 事件ID |
| eventParams | object | 条件必填 | -- | 事件参数;当 eventId 为 gameready 时无需传入 |
# 数据上报
# 流程统计上报
上报相关流程统计数据(程序或游戏行为日志),在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必须包含logLevel、logContent字段,其中logLevel固定为d或e。
# 启动场景上报
上报游戏启动阶段的自定义场景数据。调用该接口上报场景数据(场景需在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必须包含eventName、extendParamJson字段。