Appearance
登录相关
WARNING
在游戏登录界面,调用登录接口时, 建议游戏先判断当前是否有初始化完成。 如果未初始化完成,可以再次调用初始化接口。
登录
当玩家进入游戏登录界面、 或玩家手动点击【进入游戏】按钮并且此时玩家是未登录状态时, 游戏层可以调用登录接口。
js
U8SDK.login(function(loginResult) {
if (!loginResult.isSuc) {
console.log('game login failed')
return
}
console.log('game login result. userID:' + loginResult.userID)
});处理登录回调
当渠道SDK登录成功或失败时, 聚合SDK会通过login接口中传入的回调函数,通知给游戏层:
js
function(loginResult) {
if (!loginResult.isSuc) {
console.log('game login failed')
return
}
console.log('game login result. userID:' + loginResult.userID)
}当loginResult.isSuc时, 会返回当前玩家的账号, 其中包含了当前玩家的账号ID等信息。 loginResult结构如下:
| 参数名称 | 参数类型 | 参数说明 |
|---|---|---|
| isSuc | boolean | 登录是否成功,true/false;为true时,才会有下面其他信息 |
| userID | long | 玩家唯一ID,游戏层可以用该字段绑定游戏账号或角色 |
| sdkUserID | String | 渠道平台返回的玩家唯一ID,不同渠道之间可能不唯一 |
| username | String | 聚合SDK生成的用户名,无意义 |
| sdkUsername | String | 渠道平台那边玩家的用户名,可能为空 |
| token | String | 此次登录的token,游戏客户端传给游戏服务器,游戏服务器登录认证需要使用 |
| timestamp | String | 当前时间戳 |
| newAccount | Number | 当前账号是否是新账号(首次登录), 1:新用户;0:老用户 |
| sign | String | 当前签名,游戏服务器如果使用本地校验签名,可以使用该字段 |
登出
如果游戏中,有【登出】功能, 可以在玩家点击【登出】按钮时,调用下面的logout接口。
js
U8SDK.logout(function(suc) {});服务端登录验证
客户端登录成功后, 会返回UToken对象给游戏层。 游戏层收到UToken后, 可以将里面userID、 token等数据, 传给游戏服务器。
游戏服务器通过调用服务端->登录认证API,验证token的合法性。
验证通过后, 才能让玩家进入游戏。