游戏行为数据接入
业务场景
独代游戏请通过本文档提供方式,对接并上报相关埋点内容,用于后续分析用户游戏内的行为表现,优化游戏内容及对运营进行精细化运营。
数据上报内容包括二部分:客户端上报、数数服务端上报
流程图

客户端接入
方式一:数数客户端 SDK 接入
SDK 下载
注意事项
该方案为复刻数数服务端接入,利用 java 程序重写的数数接收服务端,做了如下兼容适配:
- /config?appid=xxx,全部都返回同一个配置,每 3s,30 条

返回结果:
{
"code": 0,
"data": {
"server_timestamp": 1702614107366,
"sync_batch_size": 30,
"sync_interval": 3
}
}
- 统一在顶层增加了 who 和 project 的 json 节点,用于和内部系统关联.
原文
上报原文
{
"#ip": "180.107.198.201",
"#type": "user_set",
"#app_id": "56b2bf8f86f24f2c********a3aaeed6",
"#time": "2023-12-15 15:35:55.046",
"#account_id": "118691122",
"#event_name": "cityuserset",
"#distinct_id": "db63d9fbbc8da654",
"properties": {
"project":"xxxxx", //接入时填入
"rname":"aa"
// ...
}
}
服务端
服务端接收后,进行了格式转换,转换如下:
{
"#ip": "180.107.198.201",
"#type": "user_set",
"#app_id": "56b2bf8f86f24f2c********a3aaeed6",
"#time": "2023-12-15 15:35:55.046",
"#account_id": "118691122",
"#event_name": "cityuserset",
"#distinct_id": "db63d9fbbc8da654",
"project":"xxxxx",// 由服务端程序挪进来,由于数数SDK无法增加根节点
"properties": {
"rname":"aa"
// ...
}
}
数据合规
在某些场景下,出于合规、实际业务需求等的考量,您也许期望禁止某些预置属性的采集。您可以在工程目录的 res/values
目录下新增 ta_public_config.xml
文件,用于配置需要禁用采集的属性数组。
采集域名
注意:使用时需要确认
域名 | 区域 | 机房 | 环境 | 备注 |
---|---|---|---|---|
talog.yiworld.com | 深圳 | 阿里云 | 正式 | 国内正式环境,带 HTTPS |
talog.wayagame.com | 新加坡 | 阿里云 | 正式 | 海外正式环境,带 HTTPS |
方式二:超级 SDK 接入
- 指通过益世界提供的 SDK 进行数据上报,涵盖"客户端、小游戏、H5"三种场景,主要是"检查点"事件,用于上报用户从启动再最终进入游戏过程中的各环节数据;
- 此事件无需进行设计,由系统默认提供(即检查点),详细操作请查看文档“数据埋点管理平台操作手册”模块

数数服务端接入
1. 埋点接入流程

- 相关埋点事件均通过数据埋点管理平台获取,详细操作请查看文档“数据埋点管理平台操作手册”模块;
- 各类型事件概览:

2. 注意事项
埋点设计环节
- 客户端事件:无需进行设计,由系统默认提供(即检查点);
- 服务端事件:11 个通用事件也由系统默认提供,无需设计。预设自定义事件(活动、任务)、完全自定义事件、自定义状态事件则需要运营根据实际业务进行埋点设计;
埋点接入环节
- 接入需知:请先接入我们 SDK,原因:客户端埋点(检查点事件)需通过 SDK 进行上报,同时服务端事件中部分字段的需通过 SDK 来获取。
- 事件类型:见上方“各类型事件概览”,具体事件请在数据埋点管理平台"获取,若无账号或权限请联系运营同学进行开通;
事件字段类型:
类型 | 特点 |
---|---|
预设字段 | 黑色字体,由系统预置 |
业务全局字段 | 橙色字体,所有游戏事件均适用,由系统预置 |
游戏全局字段 | 绿色字体,针对某游戏所有事件生效,由游戏负责人进行管理 |
自定义字段 | 蓝色字体,针对某游戏“预设自定义、完全自定义、自定义状态”事件生效,由游戏负责人进行管理 |

字段数据类型:
数据类型 | 取值样例 | 取值说明 |
---|---|---|
字符串(String) | "ABC","上海" | 字符的默认上限是 2KB |
字符串枚举值(string) | 取枚举范围内的值 | 字符的默认上限是 2KB |
数字(Number) | 123,1.23 | 数据范围是-9E15 至 9E15 |
数字枚举值(Number) | 取枚举范围内的值 | 数据范围是-9E15 至 9E15 |
对象(Object) | {"item_id":'1001',"item_uid":'abc',"item_num":1,"if_garantee":true} | 对象内最多 100 个子属性 |
对象组(Array(Object)) | [{"item_id":'1001',"item_uid":'abc',"item_num":1,"if_garantee":true}, {"item_id":'1001',"item_uid":'abcd',"item_num":10,"if_garantee":true} … ] | 对象组内最多 500 个对象 |
- 以下服务端事件参数字段需在 SDK 的
getDataInfo
方法中返回的dataInfo
中获取
字段名 | 类型 | 字段说明 | 数据获取方式 |
---|---|---|---|
biz | String | 发行业务 ID | dataInfo 的 biz |
appid | String | 超级 appid | dataInfo 的 appId |
app_id | String | 益世界 appid | 调用方式及上报的值与"appid"一样(原因:兼容历史) |
mc | String | 一级渠道 | dataInfo 的 channelId |
channel_id | String | 益世界 cid | 调用方式及上报的值与"mc"一样(原因:兼容历史) |
sc | String | 二级渠道 | dataInfo 的 sc |
extc | String | 扩展渠道 | dataInfo 的 extc |
uid | String | 超级 openid | SDK 用户唯一标识(openId),登录回调返回 |
did | String | 设备 ID | dataInfo 的 did |
注:若当前对接 SDK 不支持获取以上内容,字段值直接传空
-
服务端日志规范(需将游戏服与日志服分开,所有日志数据写到日志服;)
日志文件路径:
- 正在写入的日志文件:日志根目录
/yyyyMMdd/${项目名称英文缩写}.log
- 不再写入的日志文件:日志根目录
/yyyyMMdd/{项目名称英文缩写}_yyyyMMddHH_${轮转数字}.log
日志文件按小时轮转,单个文件的文件大小最大值设置为 500MB,不能设置过小,避免总日志文件数过大的问题。
至少保留最近 30 天的日志文件(可压缩后保存) - 正在写入的日志文件:日志根目录
-
日志数据同步
配置方法:请查看 CP 数据日志同步操作流程
3. 埋点验收环节
数据埋完是否符合要求,如:事件是否有缺失,上报内容格式是否有误等等,均可通过“数据埋点管理平台”进行快速验收;
数据埋点管理平台操作手册
1. 系统地址
数据埋点管理平台:https://edp.ewan.cn/defmeta/businessManager/gameList
2. 账号权限
若无账号或权限,请联系对接的运营同学进行开通;
3. 埋点内容获取
若未能找到需要的游戏,请与运营同学确认是否已将您加入到项目“参与人”中;
埋点类型 | 事件类型 | 对应事件 | 埋点内容获取方式 | 备注 |
---|---|---|---|---|
客户端事件 | 预设通用事件 | 检查点(action=checkpoint) | 在埋点管理平台->游戏列表搜索到对应游戏,通过”通用埋点格式预览“列中”预览“功能查看”检查点“事件; | |
服务端 | 预设通用事件 | 角色创建(event=createrole) 角色登录(event=login) 角色退出(event=logout) 角色聊天(event=chat) 充值日志(event=recharge) 物品变化(event=itemchange) 货币变动(event=cash) 目标养成(event=feed) 在线人数(event=onlinenum) 排行榜(event=rank) 问卷日志(event=question) 邮件日志(event=mail) | 在埋点管理平台->游戏列表搜索到对应游戏,通过”通用埋点格式预览“列中”预览“功能查看对应事件 | |
服务端 | 预设自定义事件 | 活动日志(event=activity) | 方式一:在埋点管理平台->游戏列表搜索到对应游戏,通过点击活动埋点列数值跳转到对应详细活动列表获取埋点内容; 方式二:在埋点管理平台->自定义埋点->运营活动埋点列表搜索到对应游戏,通过点击”预览“功能可以查看各埋点明细内容 | |
服务端 | 预设自定义事件 | 任务日志(event=task) | 方式一:在埋点管理平台->游戏列表搜索到对应游戏,通过点击任务埋点列数值跳转到对应详细任务列表获取埋点内容; 方式二:在埋点管理平台->自定义埋点->运营任务动埋点列表搜索到对应游戏,通过点击”预览“功能可以查看各埋点明细内容 | |
服务端 | 完全自定义事件 | 自定义事件(event=taevent) | 方式一:在埋点管理平台->游戏列表搜索到对应游戏,通过点击自定义事件埋点列数值跳转到对应详细自定义事件埋点列表获取埋点内容; 方式二:在埋点管理平台->自定义埋点->运营自定义事件埋点列表“搜索到对应游戏,通过点击”预览“功能可以查看各埋点明细内容; | |
服务端 | 自定义状态事件 | 自定义状态事件(即原有的用户属性) | 方式一:在埋点管理平台->游戏列表搜索到对应游戏,通过点击自定义事件埋点列数值跳转到对应详细自定义事件埋点列表获取埋点内容; 方式二:在埋点管理平台->自定义埋点->运营自定义事件埋点列表搜索到对应游戏,通过点击”预览“功能可以查看各埋点明细内容 |
- 活动埋点列数值 : 表示设计的活动埋点数量
- 任务埋点列数值 : 表示设计的任务埋点数量
- 自定义事件埋点列数值 : 表示设计的自定义事件埋点数量
4. 埋点内容验收
- 数据埋点管理平台提供一站式的数据验收,可以系统自动化检查埋点内容的完整性及字段格式9
- 对应模块:质量中心->游戏埋点验收;
FAQ
Q:golang SDK中who和Project层级,与埋点管理平台中文档展示的层级不一致,是否有影响?
A:不会有影响,已做兼容处理。