7. 数据上报
接口说明
接口参数及签名算法同接口规范
接口地址:{address}/gdr/api/{appId}/event
国内环境{address}
海外环境{address}
- 全部AppId: https://sgw.xiuzhenme.com
7.1 聊天信息(必接)
- action为 g
{appId}chat 如g20chat
请求data
| 字段名 | 类型 | 描述 |
|---|---|---|
| userId | String | 发行用户Id |
| appId | long | 游戏id |
| channelId | int | 渠道id |
| serverId | String | 区服id |
| serverName | String | 区服名称 |
| roleId | String | 角色id |
| roleName | String | 角色名称 |
| level | int | 当前等级 |
| chatChannel | int | 聊天频道;0-世界,1-帮派,2-同省,3-跨服,4-私聊,5-其他 |
| content | String | 聊天内容 |
| targetRoleId | String | 目标角色id(私聊有) |
| sendTime | long | 发送时间,时间戳,单位秒 |
请求示例
{"data":"{\"userId\":\"1\",\"appId\":20,\"channelId\":20001,\"serverId\":\"1001\",\"serverName\":\"Server A\",\"roleId\":\"1001\",\"roleName\":\"xx\",\"level\":50,\"chatChannel\":0,\"content\":\"chat\",\"targetRoleId\":\"target456\",\"sendTime\":1648795200}","sign":"this is sign string","action":"g20chat","ts":1234567890}
响应data
响应示例
{"msg":"success","code":1000}
7.2 统计数据(必接)
- action为 g
{appId}stat 如g20stat
请求data
| 字段名 | 类型 | 描述 |
|---|---|---|
| statType | int | 上报类型 1:创建角色 2:进入游戏 3:等级提升 4:退出游戏(可选) 6:充值到账(可选) 7:游戏内代币【代金券/通宝等】支付订单(必选) |
| appId | int | 应用Id |
| channelId | int | 渠道Id |
| userId | string | 发行侧用户Id |
| serverId | string | 服务器Id |
| serverName | string | 服务器名 |
| roleId | string | 角色Id |
| roleName | string | 角色名 |
| roleLevel | int | 角色等级 |
| roleOnlineTime | int | 角色在线总时长,statType为2/statType为4时必传 ,默认值为 0 单位秒 |
| rolePower | int | 角色战力,statType为3时必传 ,默认值为 0 |
| couponPayAmount | int | 代金券支付订单金额。statType为7时必传 , 单位分 |
| cpOrderNo | string | 代金券支付订单号。statType为7时必传 |
| couponPayTime | int | 代金券支付时间。statType为7时必传,时间戳,单位秒 |
| productId | string | 代金券支付商品id:发行侧商品档位id。statType为7时必传 |
| money | int | 角色累计充值金额。单位分 |
| vip | string | vip等级 |
| ip | string | ip |
| version | string | 游戏版本 |
| createTime | int | 创角时间 |
| lastLoginTime | int | 角色最后登陆时间。时间戳,单位秒 |
| firstPayTime | int | 首充时间。时间戳,单位秒 |
| userCreateTime | int | 用户注册时间。时间戳,单位秒 |
| userLastLoginTime | int | 用户最后登陆时间。时间戳,单位秒 |
| lastServerId | string | 用户最后登陆服务器Id |
请求示例
{"data":"{\"statType\":1,\"appId\":20,\"channelId\":1,\"subChannelId\":\"subChannel123\",\"accountChannelId\":123,\"loginChannelId\":456,\"deviceId\":\"device123\",\"userId\":\"user123\",\"serverId\":\"server123\",\"serverName\":\"Server A\",\"roleId\":\"role789\",\"roleName\":\"xx\",\"roleLevel\":50,\"money\":10000,\"vip\":\"VIP1\",\"ip\":\"192.168.1.1\",\"version\":\"1.0.0\",\"createTime\":1648795200,\"lastLoginTime\":1648795300,\"firstPayTime\":1648795400,\"userCreateTime\":1648795500,\"userLastLoginTime\":1648795600,\"lastServerId\":\"server456\"}","sign":"this is sign string","action":"g20stat","ts":1234567890}
响应data
响应示例
{"msg":"success","code":1000}
7.3 作弊行为(可选)
- action为 g
{appId}cheating 如g20cheating
请求data
| 字段名 | 类型 | 描述 |
|---|---|---|
| userId | string | 发行侧用户Id |
| cheatingLevel | int | 作弊等级(0、轻微, 1、一般 ,2、严重 ,3、非常严重, 4、致命 ) |
| cheatingContent | JSON对象 | 作弊内容 |
| serverId | string | 服务器Id |
| serverName | string | 服务器名 |
| roleId | string | 角色Id |
| roleName | string | 角色名 |
| createTime | int | 创角时间 |
| lastLoginTime | int | 角色最后登陆时间 |
| roleLevel | int | 角色等级 |
| roleMoney | int | 角色累计充值金额。单位分 |
| userMoney | int | 账号充值金额 |
| vip | int | vip等级 |
| ip | string | ip |
cheatingContent
| 字段名 | 类型 | 描述 |
|---|---|---|
| info | string | 作弊详情 |
| classify | string | 作弊分类 |
| ext | JSON对象 | 扩展字段 |
请求示例
{"data":"{\"userId\":\"user456\",\"cheatingLevel\":2,\"cheatingContent\":{\"info\":\"Using unauthorized tools\",\"classify\":\"Tool-assisted cheating\",\"ext\":{\"toolVersion\":\"v2.0\",\"toolName\":\"CheatMaster\"}},\"serverId\":\"server789\",\"serverName\":\"Server B\",\"roleId\":\"role987\",\"roleName\":\"Alice\",\"createTime\":1648796000,\"lastLoginTime\":1648796100,\"roleLevel\":30,\"roleMoney\":5000,\"userMoney\":20000,\"vip\":3,\"ip\":\"192.168.1.2\"}","sign":"this is sign string","action":"g20cheating","ts":1234567890}
响应data
响应示例
{"msg":"success","code":1000}
7.4 审核上报(可选)
- action为 g
{appId}audit 如g20audit - 当前只需要上报审核状态为 ‘违规’ 的 结果
请求data
| 字段名 | 类型 | 描述 |
|---|---|---|
| appId | string | 游戏ID |
| userId | string | 发行侧用户ID |
| channelId | string | 渠道ID |
| serverId | string | 服务器ID |
| serverName | string | 服务器名称 |
| roleId | string | 角色ID |
| roleName | string | 角色名称 |
| level | int | 当前等级 |
| auditContent | string | 审核原文;非必传 |
| auditType | int | 审核类型 |
| auditStatus | int | 审核状态;0-正常,1-违规 |
| auditResult | string | 审核结果;格式与auditType相关 |
| eventTime | int | 事件发生时间,时间戳,单位秒 |
auditType审核类型 枚举值
| name | value | auditResult |
|---|---|---|
| 腾讯云实时语音审核 | 1 | 游戏多媒体引擎 回调说明-进阶功能开发指南-文档中心-腾讯云 (tencent.com) |
请求示例
{"data":"{\"appId\":\"game123\",\"userId\":\"user456\",\"channelId\":\"channel789\",\"serverId\":\"server101112\",\"serverName\":\"ServerNameExample\",\"roleId\":\"role131415\",\"roleName\":\"RoleNameExample\",\"level\":25,\"auditContent\":\"这是一段语音聊天信息文字\",\"auditType\":1,\"auditStatus\":0,\"auditResult\":\"{}\",\"createTime\":1648796000}","sign":"this is sign string","action":"g20audit","ts":1234567890}
响应data
响应示例
{"msg":"success","code":1000}
7.5 事件上报(可选)
- action为 track_game_event_all
请求data
| 字段名 | 类型 | 描述 |
|---|---|---|
| #account_id | string | 账号ID |
| #distinct_id | string | 访客ID |
| #time | string | 事件时间 |
| #uuid | string | 数据唯一ID |
| #type | string | 数据类型 |
| #event_name | string | 事件名称 |
| properties | json | 数据主体部分,properties是一个 JSON 对象,里面的数据以键值对的形式表示 |
- 事件数据样例:
{
"#account_id": "75d971505646b79731cddaf9",
"#time": "2025-02-18 14:26:59.748",
"#uuid": "6a0b7df7-14d9-57ca-5a87-3831a640057c",
"#type": "track",
"#event_name": "role_login",
"properties": {
"current_coin": 107598510,
"expand": {
"name": "何南兮"
},
"gangId": "646170825b21f9f5b7e40587",
"role_level": 451,
"#data_source": "Restful_API",
"current_dungeon": 60007407
}
}
- 用户属性设置数据样例:
{
"#account_id": "2a63a4dc17f9a815af956607",
"#time": "2025-02-18 14:27:36.264",
"#distinct_id": "f58742bd-e06e-42f3-bd0a-f252a777c2c0",
"#uuid": "61b65f50-8eb3-492a-a750-b8d2bd4481cc",
"#type": "user_set",
"properties": {
"uid": "onlysdk_24809419",
"create_role_time": 1696769244000,
"channel": "onlysdk",
"sdk_userid": "",
"sdk_channel": "",
"server_id": 10851,
"bundle": "com.biguo.xblr.huawei",
"platform": "android"
}
}
properties 的同层其他字段,组成了该条数据的基本信息,其中只包括以下几项:
- 表示触发用户的账号 ID
#account_id与访客 ID#distinct_id,#account_id与#distinct_id至少要传入一个,如果所有事件都是在用户登录状态下触发的,则只传入#account_id是可行的,如果有事件是在未登录状态(包括注册前)触发的,则建议将两个字段都填入 - 表示触发时间
#time,格式必须是精确到毫秒("yyyy-MM-dd HH:mm:ss.SSS")或秒("yyyy-MM-dd HH:mm:ss")的字符串 - 表示数据类型(事件还是用户属性设置)的
#type,详细规则见下述说明 - 表示事件名称的
#event_name(仅事件数据带有) - 表示数据唯一性的
#uuid - 除以上几项外,其余以“#”开头的属性都需要放在
properties的内层
#type决定了该条数据的类型,是用户的行为记录、还是修改用户属性的操作处理,每一条数据都需要配置#type字段。#type的取值分为两类,track代表这条数据是用户行为记录,以user_开头代表对用户属性进行操作,具体意义如下:
- track:向事件表传入一个事件,事件的上传都为 track
- user_set:对用户表进行操作,覆盖一个或多个用户属性,如果该属性已有值存在,覆盖先前值
- user_setOnce:对用户表进行操作,初始化一个或多个用户属性,如果该属性已有值存在,则忽略本次操作
- user_add:对用户表进行操作,为一个或多个数值型用户属性做累加计算
- user_unset:对用户表进行操作,清空该名用户的一个或多个用户属性的属性值
- user_del:对用户表进行操作,删除该名用户
- user_append:对用户表进行操作,为用户的列表类型属性值添加元素
- user_uniq_append: 对用户表进行操作,为用户的列表类型属性值添加元素,并会进行一次全列表去重(去重保证前后原有的元素顺序不变)
当#type的取值为track时,即该条数据是行为记录时,必须配置事件的名称#event_name,必须以字母开头,只能包含:字母(区分大小写)、数字和下划线“_”,长度最大为 50 个字符。请注意配置时不要带有空格。如果该条数据是修改用户属性的操作,则不需要#event_name字段。
请求示例
{"data":"{\"#account_id\":\"75d971505646b79731cddaf9\",\"#time\":\"2025-02-18 14:26:59.748\",\"#uuid\":\"6a0b7df7-14d9-57ca-5a87-3831a640057c\",\"#type\":\"track\",\"#event_name\":\"role_login\",\"properties\":{\"current_coin\":107598510,\"expand\":{\"name\":\"何南兮\"},\"gangId\":\"646170825b21f9f5b7e40587\",\"role_level\":451,\"#data_source\":\"Restful_API\",\"current_dungeon\":60007407}}","sign":"this is sign string","action":"track_game_event_all","ts":1234567890}
响应data
响应示例
{"msg":"success","code":1000}
7.6 通知栏消息(可选)
action为 g{appId}notify 如g20notify
请求data
| 字段名 | 类型 | 描述 |
|---|---|---|
| appId | int | 游戏ID |
| channelId | int | 渠道ID |
| userId | string | 发行用户ID |
| serverId | string | 区服ID |
| serverName | string | 区服名称 |
| roleId | string | 角色ID |
| roleName | string | 角色名称 |
| level | int | 当前等级 |
| notifyType | int | 通知类型;1-活动提醒,2-收益提醒,3-占矿提醒 |
| status | int | 开关状态;0-关闭,1-开启 |
| evenTime | long | 发送时间,时间戳,单位秒 |
请求示例
{"data":"{\"appId\":10001,\"channelId\":1001,\"userId\":\"user456\",\"serverId\":\"server_001\",\"serverName\":\"Server A\",\"roleId\":\"role_123456\",\"roleName\":\"何南兮\",\"level\":67,\"notifyType\":1,\"status\":1,\"eventTime\":1648796000}","sign":"this is sign string","action":"set_push_notify_config","ts":1708241219748}
响应data
响应示例
{"msg":"success","code":1000}