# LiveLink方案(游戏内)
# 适用场景
适用于已知gameOpenId的场景,基于LiveLink签名模式进行校验并绑定
# 创建绑定实例
var instance = new LivelinkManager()
1
# 示例
var instance = new LivelinkManager();
// 加密版本(推荐使用)
instance.init({
loginType: 'livelink', // 登录方式
actId: 475, // 活动ID,没有可传入为0
gameId: 'lol', // 游戏ID
t: 1718347682, // 秒级时间戳
code: 'xxx',
sig: 'xxx',
nonce: 'xxx',
onBoundSuccess(data) {
// 绑定账号成功的回调
console.log('onBoundSuccess', data);
},
onBoundError(errData) {
// 绑定账号失败的回调
console.log('onBoundError', errData);
},
initialedEvent(data) {
// 初始化成功的回调
console.log('initialedEvent', data);
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# init 传参详解
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
loginType | string | 是 | livelink,用来标识接入 sdk 的登录方式 |
actId | int | 是 | 工具化平台 (opens new window)申请的活动 ID |
gameId | string | 是 | 游戏 ID, 例如 lol, cf ... |
code | string | 是 | 游戏角色信息, 参照《游戏侧code生成》,具体code使用密钥可以联系livelink获取,gameOpenId和accType必传,如果游戏侧可以提供游戏角色信息,则area、platId、partition、roleId也可以传,其他参数可以忽略 |
t | number | 是 | 时间戳,默认近两个小时以内范围有效 |
nonce | string | 是 | 随机参数,建议使用8位支持英文+数字混合 |
sig | string | 是 | 签名信息,由code、t、nonce这3个参数参照《游戏侧签名生成》,具体sig使用密钥可以联系livelink获取 |
onBoundSuccess | function | 否 | 账号绑定成功之后的回调,返回当前用户的状态信息data |
onBoundError | function | 否 | 账号绑定失败之后的回调,返回用户绑定失败后的错误信息errData |
initialedEvent | function | 否 | 初始化完成之后的回调,返回当前用户的状态信息data,或者返回初始化失败的错误信息errData |
closeAfterBind | boolean | 否 | 绑定完成后是否需要关闭 sdk 弹窗,不传默认为 true,关闭弹窗 |
gameAuthScene | string | 否 | 绑定所需授权与活动配置授权不一致时,同时传入活动 id 和授权场景值,优先使用授权场景值下的授权配置,参数格式为 act*{活动 ID}、custom*{自定义授权 ID}、gamedatav1{数据场景 V1 版本 ID}、gamedatav2{数据场景 V2 版本 ID} |
# 回调详解
1.onBoundSuccess / initialedEvent 回调返回的 data,包含的字段如下
{
//当前活动相关信息
"act": {
"livePlatId": "xxx",
"livePlatName": "xxx",
"gameId": "cfm",
"gameName": "穿越火线"
},
//当前游戏账号
"currAccount": {
"type": "wx",
"gameOpenId": "L3NjMTNRcEc1eldCK3VLdHVJM0I3V2hkRGxvcmMwRHlHM3V0dElPYUpocz0=",
"nickName": "太白Mo",
"headImg": "http://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83epZ1G0Eic2dj5xyciboLPHe9Wdz418krwhXkwwlVR4WRPCV7pBKtEHYfLBnaJpiaAtPA9b4jdmlhWqeg/132"
},
//当前游戏角色
"currRole": {
"roleId": "oMtbqt-Anyc5K7td9h1k0QN4hUzY",
"roleName": "太白Mo",
"area": "1",
"areaName": "微信",
"platId": "1",
"platName": "安卓(android)",
"partition": "0",
"partitionName": "",
"gameOpenId": null
},
//当前绑定的平台账号(未绑定则为null)
"platAccount": {
"uid": "123111213",
"nickName": "平台昵称",
"headImg": "http://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83epZ1G0Eic2dj5xyciboLPHe",
"livePlatId": "tencent"
}
}
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
35
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
35
2.onBoundError 回调返回的 errData,包含的字段如下
{ "msg": "绑定账号失败", "code": 10002 }
1
# 工具函数
参见SDK 工具函数
# 原型方法
参见SDK 原型方法
# SDK 调试
调试地址: https://livelink.qq.com/sdk/livelink-manager-sdk/index.html (opens new window)