# WeGame 方案(游戏内)
# 适用场景
适用于游戏内 WeGame 打开的页面
# 创建绑定实例
var instance = new LivelinkManager();
1
# 示例
var instance = new LivelinkManager();
// 加密版本(推荐使用)
instance.init({
loginType: 'wegame', // 登录方式
actId: 475, // 活动ID
gameId: 'lol', // 游戏ID
accessToken: 'xxx', // wegame oauth2登录态
// areaId、platId、partition、roleId参数非必传
// 若不传则仍需用户手动选择角色,后续用户选择的角色可能与当前游戏登录的角色不一致
areaId: 123, // 大区ID(渠道),没有则不传
platId: 123, // 终端操作系统ID,没有则不传
partition: 123, // 子区ID, 没有则不传
roleId: '123', // 角色ID
closeAfterBind: true, // 绑定成功后是否关闭弹窗
gameAuthScene: '{场景ID}', // 授权场景值
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
25
26
27
28
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
# init 传参详解
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
loginType | string | 是 | wegame,用来标识接入 sdk 的登录方式 |
actId | int | 是 | 工具化平台 (opens new window)申请的活动 ID |
gameId | string | 是 | 游戏 ID, 例如 lol, cf ... |
accessToken | string | 是 | wegame oauth2 登录态 |
areaId | int | 是 | 大区 ID(渠道),没有则不传 |
platId | int | 是 | 终端操作系统 ID,没有则不传 |
partition | int | 是 | 子区 ID,没有则不传 |
roleId | string | 是 | 角色 ID |
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} |
注:手游的大区 有 areaId platId partition 3 级组成。第 2,3 级,是有可能没有的。这个要与 IDIP 保持一致。
# 回调详解
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)