主题
Skip to content
说明
登录模块提供了适配市场的登录方式
可以参考示例中的内容,来集成登录模块
登录时需要注意的存档操作流程
使用登录模块后,请使用有登录存档流程进行存档。
游客登录
游客登录时,sdk会根据用户的DeviceID来生成一个userid,在用户没有调用注销接口时,始终会使用最新游客账号对应的存档。当调用注销接口后,该存档被清理。
游客登录+渠道登录
游客登录后,如果游戏研发切渠道登录,进行了渠道登录操作。此时会有两种情况
1、渠道账号下已有存档
此时游客账号存档不会丢失,会切换至渠道账号下的存档,下次用户进行游客登录,会继续回到游客存档。
2、渠道账号下无存档
此时SDK会自动将游客账号下的存档转移到渠道账号下,并清除游客账号下的存档数据。下次用户进行游客登录会新开存档。
渠道登录
渠道登录直接按照有登录存档流程进行存档来进行存档即可。
接口
GameHelper.Login
注意登录相关都有一个 invalidCallback 回调,当账号掉线时会回调,此时可提示引导重新登录
TypeScript
let status = GameHelper.Login.loginServerStateStatic()
if (status == 0 || status == 2) {
GameHelper.Login.loginAppServerStatic(() => {
上传
下拉
})
} else if (status == 1) {
上传
下拉
}登陆状态
TypeScript
//---获取登录状态---
//-1 登录中。游戏应该禁止用户打断登录过程。
//0-未登录。进入游戏后取到该状态,游戏需要在合适的时机调用PUB_loginAppServer,平台层会弹出QQ微信界面第三方框。
//1-登陆成功,游戏已经发起过登录且登陆成功了。
//2-曾经登陆过,但是本次启动还未自动登录,游戏需要在合适的时机调用PUB_loginAppServer,平台层为无界面的自动登录连接服务器
//3-游客登录,启动后游戏不需要调用PUB_loginAppServer登录
public loginServerStateStatic() : number {
return this.api.loginServerStateStatic()
}登陆
TypeScript
//---登录---
//0-失败,按照现在的游戏逻辑,弹出登录框之后都会进游戏,失败了也返回3游客成功,这个返回值视作保留数值。
//1-第三方登录正常成功(ServerState-1)。登录后需要游戏调用上传游戏数据PUB_loginUploadUserData
//2-第三方登录(ServerState-1),换了设备登录且用户选择了覆盖数据。登录后需要游戏调用下拉数据覆盖本地PUB_loginGetUserData
//3-用户取消登录等操作,或者是换设备登录但是选择了不覆盖本地数据。视作游客登录成功(ServerState-3)。游戏不用调用上传或者下拉数据。
//游戏层在PUB_loginServerState为0,2时需要调用这一个接口,平台层自动判断是弹出qq微信的登陆界面还是根据之前的登陆信息进行自动登录
public loginAppServerStatic(callback: (code : number, userInfo: LoginUser | null) => void, invalidCallback? : () => void) {}上传数据
TypeScript
//---上传数据---
//code表示keyInfo是否上传成功,code-0获取失败 1-获取成功 2-再次调用登录方法
//注意,如果此过程服务器结果为被踢掉线了,那么PUB_loginServerState也会改变状态为0
public loginUploadUserDataStatic(key: string, value: string, callback: (code: number, key: string) => void, invalidCallback? : () => void) {}下拉数据
TypeScript
/**
* 下拉数据
* @param callback
* ---下拉数据---
说明:返回值为key-value字符串类型,code-0获取失败 1-获取成功 2-再次调用登录方法
注意,如果此过程服务器结果为被踢掉线了,那么PUB_loginServerState也会改变状态为0
* @returns
*/
public loginGetUserDataStatic(keyInfo: string, callback: (code : number, key: string, value: string) => void, invalidCallback? : () => void) {}获取登陆信息
TypeScript
public getUserInfo() : GameUser {}注销
TypeScript
//注销 code 0-取消 1-注销完成
public loginOff(completion : (code : number) => void, invalidCallback? : () => void) {}退出登录
TypeScript
// 退出登录
//code 0 失败 1成功
public serverCustomLogExit(callback :{ exitCallBack : (code : number, user : LoginUser | string) => void,tokenInvalidCallBack : () => void}){}跳转 oppo 超休闲(Android - OPPO 市场)
TypeScript
//Oppo 跳转休闲市场
public openOppoGameCenterStatic() {}点我快速对接


