# 数据统计
# 接口说明
用于上报并记录用户在游戏内的行为日志&事件(如:启动、登录、创角、充值等行为),方便观察数据的变化、快速定位问题的根源,以及追踪程序执行的过程等。
sdkInstance.trackEvent(eventId, eventParams, callback?);
# 参数说明
参数说明如下表所示:
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| eventId | string | 是 | -- | 事件ID |
| eventParams | object | 是 | -- | 事件参数 |
| callback | function | 否 | -- | 事件上报完成的回调函数,一般无需使用 |
# 数据上报
# 流程统计上报
上报相关流程统计数据(程序或游戏行为日志),在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及游戏侧需按照《快手小游戏日志上报埋点模板》 (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。
# 自定义事件上报(选接)
上报其他自定义事件;自定义事件的名称、参数无固定格式,请结合游戏业务需要或运营需求自行上报,可参考如下示例:
注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!
// 事件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字段。