# 平台内嵌游戏页面
# 说明
本指南阐述了平台侧与腾讯游戏之间的内嵌式合作机制,详细说明了如何将平台UID等相关数据有效传递给游戏内的活动页面。
# 活动形式
游戏活动页面将通过内嵌(iframe)的形式,无缝集成到平台侧的活动页面中。内嵌方式的示意图如下所示:
# 活动说明
用户通过平台侧的活动入口参与游戏,此时平台将负责唤起游戏的活动页面。
# 合作细节与分工
# 平台侧职责:
- 从游戏方获取活动页面的地址。
- 在游戏提供的活动页面链接上附加必要的平台参数,具体方法参见《平台生成拉起页面链接》文档。
# 游戏侧职责:
- 从页面链接中解析出平台传递的参数。
- 调用腾讯游戏来联的内部接口,将这些参数转换为对应的游戏角色信息。
# 工作事项
工作事项 | 负责方 |
---|---|
开发活动页面的基础逻辑 | 游戏侧 |
实现页面拉起内嵌活动页面的功能 | 平台侧 |
开发游戏内的活动页面逻辑 | 游戏侧 |
在平台登录时兑换用户角色 | 腾讯游戏来联&游戏侧 |
# 平台生成拉起页面链接
以下是平台生成的活动页面链接示例,此链接需要被嵌入到平台侧的活动页面中:
# https://cf.qq.com/xxx/index.html 为游戏侧提供的活动页面,游戏侧开发完成需保证页面已上线
# 页面参数部分需要平台生成 actId=xxx&gameId=cf&livePlatId=xx&code=xxxxx×tamp=xxx&v=2.0&sig=xxxxx
# 最终生成链接如下:
https://cf.qq.com/xxx/index.html?actId=xxx&gameId=cf&livePlatId=xx&code=xxxxx&t=xxx&v=2.0&sig=xxxxx
1
2
3
4
5
2
3
4
5
参数说明
参数名称 | 类型 | 说明 |
---|---|---|
code | string | 登录态加密串,见文档《平台code加密》。 |
gameId | string | 参考《已支持业务》 |
t | int32 | Unix时间戳,精度:秒。10分钟内有效。 |
livePlatId | string | 平台侧ID,由腾讯游戏来联统一分配。 |
v | string | 方案迭代,这里设置为2.0。 |
sig | string | 签名计算,可参考《流程调用sig签名生成》中的“sig签名生成步骤”部分签名完成。 |
actId | uint32 | 活动ID,腾讯游戏来联上申请活动活动自动分配。见《活动立项说明》 |
除了上述字段外,也支持平台和游戏约定自定义参数传入,只要按照腾讯游戏来联的签名计算即可
# 获取平台用户角色信息
当游戏侧页面从链接中获取到平台链接参数后。可通过以下方式换取用户在平台侧绑定的角色信息,用于游戏侧活动功能。
注意:该接口为腾讯内部接口,使用方需要找livelink报备具体的actId,开通活动白名单后才能调通。
请求举例
curl --header "Content-Type: application/json" --request POST --data '{"actId":"xxx",appId:"xx",gameId:"cf",livePlatId:"xx","code":"xxxx","timestamp":xxx,"v":2.0,"sig":"xxxxx"}' "http://{ip:port}/Livelink?c=Api&a=getInlineRole"
1
2
2
返回信息
{
"iRet": 0,
// 接口状态码:0-正常,非0-错误
"sMsg": "SUC",
// 接口描述
"jData": {
"role": {
"gameOpenId": "0214037A97xxxxxB5A788E037",
// 游戏openid
"type": "qq",
// 账号类型
"roleId": "0214037A9xxxxxxxB5A788E037",
// 角色id
"roleName": "呆呆的xx",
// 角色昵称
"area": 2,
// 大区
"platId": 0,
// 手机系统
"partition": 0,
// 小区
"code": {
"userid": "6jq4nc43xxxx0fa2fa7b"
}
},
"tid": "9912756168125",
// 日志流水
"result": 0,
// 接口逻辑码:0-正常,非0-错误
"msg": "SUC"
// 接口描述
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
字段说明:
字段名称 | 说明 |
---|---|
iRet | 接口状态码,失败则返回非0。若为非0,则为网关服务错误 |
sMsg | 错误码说明,若iRet非0,则此字段展示错误中文信息 |
jData | 业务逻辑数据部分 |
jData.role | 用户角色数据对象 |
jData.tid | traceId,遇到接口错误请调用方务必记录 |
jData.result | 角色查询错误码。非0则查询角色失败 |
jData.msg | 如果未查询到角色,则此处展示具体原因 |
jData.role.gameOpenId | 用户账号ID。端游一般为QQ号,手游为GameOpenId |
jData.role.type | 用户绑定账号类型,值为qq或者wx |
jData.role.roleId | 用户角色Id |
jData.role.roleName | 用户角色昵称 |
jData.role.area | 用户角色所属大区 |
jData.role.platId | 用户角色所属手机系统,如果没有则游戏不支持 |
jData.role.partition | 用户角色所属小区,如果没有则游戏不支持 |
jData.role.code | 平台侧code信息,即UID部分,若需要其他数据,由平台侧统一写入到code |
jData.role.code.userid | 默认不提供平台账号部分,如需此字段,可与腾讯游戏来联运营经理申请 |
iRet错误码说明:
错误码 | 说明 |
---|---|
-2 | 系统未知错误 |
-3 | 缺少配置(找不到应用平台的配置) |
-6 | 应用平台被禁用 |
-1000 | 调用方签名错误 |
-4001 | 调用方参数错误 |
-4002 | 没有绑定游戏账号 |
-4004 | 没有绑定游戏角色 |
-4011 | 全局应用限流 |
-4050 | 中间件调用限流 |
-5001 | 应用平台配置签名为空 |
-7001 | 活动未开始 |
-7002 | 活动已过期 |
-7003 | 活动已下线 |