11/25/2024 10:18:49
成就
一、成就上报(排行榜展示数据上报)
1.1 接口名
/v2/acvm/report
1.2 请求参数
参数 | 类型 | 描述 |
---|---|---|
openid | string | 【必填】用户唯一标识 |
token | string | 【必填】用户登录态 |
achievements | json or string | 成就数据 |
特别说明:
- 上报内容需要和平台侧约定,双平台接口人请咨询 MSDK 助手;
- 微信成就上报不校验 token,所以 token 只要不为空即可(但还是建议填写正确的 token,因为以后可能会增加对 token 的校验)。另外,目前 MSDK 的微信上报接口也没做 token 校验;
- 微信成就上报 MSDK 只对 achievements 对应的数据进行透传(如果是 json object,会转换为字符串再透传);
- QQ 成就上报 MSDK 会检查 achievements 的格式,详见后面的格式说明;
1)QQ 成就上报achievements
格式说明
QQ achievements
是一个数组,每个数组元素都是一个 object,这个 object 包含如下字段:
- data(string) 成就值;
- expires(string) unix 时间戳,单位 s,标识哪个时间点数据过期,0 标识永不超时,不传递默认为 0;
- type(int) 上传字段对应的类型,具体类型参照手Q游戏中心给出的文档,如1代表等级;
- bcover(int) 与排行榜有关的数据 bcover = 0,其他 bcover = 1。游戏中心排行榜与游戏排行榜保持一致;1 表示覆盖上报,本次上报会覆盖以前的数据,不传递或者传递其它值表示增量上报,只会记录比上一次更高的数据;
2)微信成就上报achievements
格式建议
(来源于 MSDKV3文档 )
格式建议
```json
// 单个用户数据:
{
"baseinfo":
{
"gamename":"全民飞机大战", //字符串型,游戏名称,建议填上
"platid": 0, //整型,平台类型 0:iOS 1:Andriod,必填
"partitionid": "9", //字符串型,分区 ID,游戏没有分区概念可省略该项,如果有则建议填上
"roleid": "wongcai", //字符串型,角色 ID,游戏没有角色概念可省略该项,如果有则建议填上
"level": 2 //整型,用户等级,游戏用户没有等级概念可省略该项,如果有则建议填上
},
"battleinfo":
{
"score": 4288625, //整型,该数值影响微信游戏排行榜,非必填,但没有该数据就没有排行榜(以《全民飞机大战》为例,该项填游戏中获得的分数)
"iswin": true //布尔型,当前局是否胜利,适合棋牌类,没有胜局概念可省略该项,如果有则建议填上
},
"userdefined":
{ //游戏自定义数据,由平台侧提需求上报,游戏侧暂无需自主上报,比如平台要求《全民飞机大战》上报金币、体力、战机等自定义数据,其中value类型一般为整型或字符串型:
"goldcoin": { //自定义数据 ID1
"name": "金币", //字符串型,数据名称
"value": 358267, //整型,数据数值
},
"power":
{ //自定义数据ID2
"name": "体力", //字符串型,数据名称
"value": 86542, //整型,数据数值
},
"plane":
{ //自定义数据ID3
"name": "战机", //字符串型,数据名称
"value": "炽天使", //字符串型,数据内容
},
//自定义数据可不断扩展
} //同时支持多个用户批量数据,可将以上多个单例组合成json数组格式:[{用户数据1},{用户数据2},...]
```
3)Steam 成就上报格式
格式建议
```json
{
"openid": "xxx",
"token": "xxx",
"achievements": [
{
"name": "aaa",
"value": 12
},
{
"name": "bbb",
"value": 23
}
]
}
```
4)Demo
QQ参考
```sh
curl 'http://hktest.itop.tencent-cloud.net/v2/acvm/report?channelid=2&gameid=12&os=4&source=1&ts=1999999999&version=2.2.0.0&sig=ssssssssssssssssssssssssssssssss' -d '{"openid":"1234567891234567890","token":"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT","achievements":[{"type": 3,"bcover": 1,"data": "999","expires":"0"},{"type": 2,"bcover": 1,"data": "1999","expires": "0"}]}'
```
返回
```json
{
"ret":0,
"msg":"success"
}
```
微信参考
```sh
curl 'http://hktest.itop.tencent-cloud.net/v2/acvm/report?channelid=1&gameid=12&os=4&source=1&ts=1999999999&version=2.2.0.0&sig=ssssssssssssssssssssssssssssssss' -d '{"openid":"1234567891234567890","token":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","achievements":{"baseinfo": {"gamename": "iTOP_Test","platid": 0,"partitionid": "9","roleid": "hunter","level": 2 },"battleinfo": {"score": 4288625,"iswin": true}}}'
```
返回
```json
{
"ret":0,
"msg":"success"
}
```
二、成就查询(仅支持Steam)
2.1 接口名
/v2/acvm/stats
2.2 请求参数
参数 | 类型 | 描述 |
---|---|---|
openid | string | 【必填】 用户唯一标识 |
token | string | 【必填】 用户登录态 |
2.3 返回
- 示例
{ "data": { "stats": { "aaa": { "value": 23 } }, "gameName": "ARK", "achievements": { "bbb": { "achieved": 1 } } }, "ret": 0, "msg": "success" }
三、查询玩家成就(仅支持Steam)
3.1 接口名
/v2/acvm/query
3.2 请求参数
参数 | 类型 | 描述 |
---|---|---|
openid | string | 【必填】 用户唯一标识 |
token | string | 【必填】 用户登录态 |
3.3 返回
- 示例
{ "data": { "achievements": [ { "apiname": "bbb", "achieved": 1, "unlocktime": 1557916916 }], "gameName": "ARK" }, "ret": 0, "msg": "success" }
四、查询整个游戏的统计数据(仅支持Steam)
4.1 接口名
/v2/acvm/stats_global
4.2 请求参数
参数 | 类型 | 描述 |
---|---|---|
name | array | 【必填】 统计项列表 |
4.3 返回
- 示例
{ "data": { "globalstats": { "aaa": { "total": "23" } }, "result": 1 }, "ret": 0, "msg": "success" }
Copyright © 2024 MSDK.
All rights reserved.
All rights reserved.