绑定组件接入
游戏通常会策划一些绑定相关的运营活动,为此,Web 组件支持绑定账号的功能,让您的运营活动高效、低成本落地。
绑定 LI Pass 组件
在用户使用第三方渠道登录后,已经进入网页,期望在页面初始化时,或者通过点击网页内嵌的按钮,主动唤起绑定弹窗,可以调用 bind API 手动触发 LI PASS 绑定流程。
- 如果当前登录的第三方渠道能够返回用户邮箱,并且该邮箱没有注册过 LI PASS 帐号,则进入快速绑定流程。
- 如果当前登录的第三方渠道无法获取邮箱,或获取到的邮箱已注册过 LI PASS 帐号并且绑定了其他帐号,则会让用户输入新的邮箱绑定 LI PASS。
- 如果当前用户已经绑定了 LI PASS,则返回已绑定的信息。
用户绑定流程
玩家输入邮箱登录/注册 LI PASS 邮箱绑定
快捷绑定
快捷绑定:部分第三方渠道账号支持传递用户邮箱,此场景下将展示玩家第三方渠道账号邮箱,以引导玩家快速绑定已有/自动注册的 LI PASS。
note
该功能在完成 第三方渠道登录时获取玩家邮箱 中的步骤后才可使用。
- 若此邮箱已注册 LI PASS,此处将根据该 LI PASS 的协议条款勾选状态进行展示。
- 玩家也可以选择绑定其他 LI PASS,自行输入邮箱及验证码。
接入方式
需要在 Player Network 控制台创建 LI PASS Web 配置,并在 账号绑定策略 中开启 引导玩家使用邮箱绑定 LI PASS 和 允许玩家手动触发。发布后,在初始化 pass 时传入所生成的 WEB_ID。
您可监听 onBindError 事件获取和绑定错误相关的信息:
示例
const pass = new PassFactory.Pass({
env: "test", // Environment
gameID: xxxxx, // Player Network 控制台中配置的 GAME_ID
appID: "", // Player Network 控制台中配置的 APP_ID
webID: "xxxxxxxxxxxx", // Player Network 控制台中配置的 WEB_ID
});
// 调用 `bind` 方法渲染绑定组件
pass.bind({
bindToken: '', // 当前用户的 openid
bindToken: '', // 当前用户的 token
bindChannelID: 6, // 当前用户的 channelid
})
// 监听 `onBind` 事件,您可以从结果中的 `has_bind_lip` 查看用户的绑定状态
pass.on("onBind", (result) => {
console.log(result);
});
// 用户点击关闭按钮时会触发 `onClose` 事件,代表用户没有完成绑定
pass.on("onClose", (accountApi) => {});
// 您可以监听 `onBindError` 事件,当绑定出现错误时,会触发该流程
pass.on("onBindError", (result) => {
console.log(result);
});
返回参数
| 参数 | 类型 | 描述 |
|---|---|---|
| has_bind_lip | boolean | 是否绑定了 LI PASS |
| openid | string | Player Network SDK 用户唯⼀标识 默认为 64-bit 无符号整数的字符串,也可以支持 32-bit |
| token | string | Player Network SDK 生成的用户 token 长度:40字节,详见 Token |
| channel_info | object | 渠道信息 |
channel_info
| 参数 | 类型 | 描述 |
|---|---|---|
| channelId | number | 渠道 ID |
绑定第三方渠道组件
在用户已经完成登录授权的情况下,可以调用 bindSocial API 手动触发绑定三方渠道的流程。
接入方式
在 Player Network 控制台创建 LI PASS Web 配置,并在 账号绑定策略 中开启 引导玩家绑定第三方渠道 和 允许玩家手动触发。发布后,在初始化 pass 时传入所生成的 WEB_ID。
您可监听 onBindError 事件获取和绑定错误相关的信息:
示例
const pass = new PassFactory.Pass({
env: "test", // Environment
gameID: xxxxx, // Player Network 控制台中配置的 GAME_ID
appID: "", // Player Network 控制台中配置的 APP_ID
webID: "xxxxxxxxxxxx", // Player Network 控制台中配置的 WEB_ID
});
// 调用 `bindSocial` 方法展示绑定组件
pass.bindSocial({
bindToken: '', // 当前用户的 openid
bindOpenid: '', // 当前用户的 token
bindChannelID: 6, // 当前用户的 channelid
})
// 监听 `onBind` 事件,您可以从结果中的 `has_bind_lip` 查看用户的绑定状态
pass.on("onBind", (result) => {
console.log(result);
});
// 用户点击关闭按钮时会触发 `onClose` 事件,代表用户没有完成绑定
pass.on("onClose", (accountApi) => {});
// 您可以监听 `onBindError` 事件,当绑定出现错误时,会触发该流程
pass.on("onBindError", (result) => {
console.log(result);
});
返回参数
| 参数 | 类型 | 描述 |
|---|---|---|
| has_bind_lip | boolean | 是否绑定了 LI PASS |
| openid | string | Player Network SDK 用户唯⼀标识 默认为 64-bit 无符号整数的字符串,也可以支持 32-bit |
| token | string | Player Network SDK 生成的用户 token 长度:40字节,详见 Token |
| socialBindList | object | 用户的三方渠道绑定列表 |
socialBindList
| 参数 | 类型 | 描述 |
|---|---|---|
| channelId | number | 渠道 ID |
| channelName | string | 渠道唯一标识 |
| isNewlyBound | boolean | 是否本次操作绑定,用于区分历史绑定和本次绑定 |