游戏行为数据接入

业务场景

独代游戏请通过本文档提供方式,对接并上报相关埋点内容,用于后续分析用户游戏内的行为表现,优化游戏内容及对运营进行精细化运营。

数据上报内容包括二部分:客户端上报、数数服务端上报

流程图

gameAction1

客户端接入

方式一:数数客户端 SDK 接入

SDK 下载

点击去数数官网下载>>

注意事项

该方案为复刻数数服务端接入,利用 java 程序重写的数数接收服务端,做了如下兼容适配:

  1. /config?appid=xxx,全部都返回同一个配置,每 3s,30 条
gameAction2

返回结果:

{
    "code": 0,
    "data": {
        "server_timestamp": 1702614107366,
        "sync_batch_size": 30,
        "sync_interval": 3
    }
}
  1. 统一在顶层增加了 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"三种场景,主要是"检查点"事件,用于上报用户从启动再最终进入游戏过程中的各环节数据;
  • 此事件无需进行设计,由系统默认提供(即检查点),详细操作请查看文档“数据埋点管理平台操作手册”模块
gameAction6

数数服务端接入

1. 埋点接入流程

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

2. 注意事项

埋点设计环节

  • 客户端事件:无需进行设计,由系统默认提供(即检查点);
  • 服务端事件:11 个通用事件也由系统默认提供,无需设计。预设自定义事件(活动、任务)、完全自定义事件、自定义状态事件则需要运营根据实际业务进行埋点设计;

埋点接入环节

  • 接入需知:请先接入我们 SDK,原因:客户端埋点(检查点事件)需通过 SDK 进行上报,同时服务端事件中部分字段的需通过 SDK 来获取。
  • 事件类型:见上方“各类型事件概览”,具体事件请在数据埋点管理平台"获取,若无账号或权限请联系运营同学进行开通;

事件字段类型:

类型特点
预设字段黑色字体,由系统预置
业务全局字段橙色字体,所有游戏事件均适用,由系统预置
游戏全局字段绿色字体,针对某游戏所有事件生效,由游戏负责人进行管理
自定义字段蓝色字体,针对某游戏“预设自定义、完全自定义、自定义状态”事件生效,由游戏负责人进行管理
gameAction5

字段数据类型:

数据类型取值样例取值说明
字符串(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中获取
字段名类型字段说明数据获取方式
bizString发行业务 IDdataInfobiz
appidString超级 appiddataInfoappId
app_idString益世界 appid调用方式及上报的值与"appid"一样(原因:兼容历史)
mcString一级渠道dataInfochannelId
channel_idString益世界 cid调用方式及上报的值与"mc"一样(原因:兼容历史)
scString二级渠道dataInfosc
extcString扩展渠道dataInfoextc
uidString超级 openidSDK 用户唯一标识(openId),登录回调返回
didString设备 IDdataInfodid

注:若当前对接 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:不会有影响,已做兼容处理。