主题
Skip to content
小游戏默认会自动登录,研发应该先去获取登录状态,如果未登录,再调用登录接口
需要在 Start()方法后等待一帧再注册登录回调并检测登录状态,否则可能获取不到回调
c#
async void Start(){
await Awaiters.NextFrame;
ZMYSDKManager.I.Login_CallBack += LoginCallBack;
int loginStatus = ZMYSDKManager.I.SDK.ServerLoginStateStatic();
if(loginStatus == 0){
ZMYSDKManager.I.Sdk.ServerLoginAppStatic();
}
}
void LoginCallBack(LoginResult loginResult){
if (loginResult.code==1){
Debug.Log("登录成功");
// "登录成功可以拿到userId也就是Openid" + loginResult.loginInfo.userId;
}
else{
Debug.Log("登录失败");
}
}
获取登录的状态
c#
//获取登录状态0-未登录 1-成功登录
ZMYSDKManager.I.Sdk.ServerLoginStateStatic();
登录
c#
//监听登录成功
ZMYSDKManager.I.Login_CallBack += LoginCallBack;
void LoginCallBack()
{
Debug.Log("登录成功");
}
//登录,可以先通过获取登录状态接口,判断是否需要登录
ZMYSDKManager.I.Sdk.ServerLoginAppStatic();
获取 openId
c#
//监听登录成功
ZMYSDKManager.I.Sdk.GetDeviceId();
上报数据
c#
ZMYSDKManager.I.Sdk.ServerLoginUploadDataStatic(string keyInfo,string valueInfo);
下拉数据
c#
ZMYSDKManager.I.Sdk.ServerLoginGetDataStatic(string keyInfo);
//成功登录的情况下,可以直接调用下拉数据的接口。否则需要先调用登录接口,等待登录成功后,再调用下拉数据的接口。
监听上报数据成功
c#
ZMYSDKManager.I.Login_UpLoadData += upLoadDataCallBack;
void upLoadDataCallBack(UploadDataResult dataResult)
{
if (dataResult.code==1)
{
Debug.Log($"上报Key[{dataResult.key}] 成功");
}
else
{
Debug.Log($"上报Key[{dataResult.key}] 失败");
}
}
监听下拉数据成功
c#
ZMYSDKManager.I.Login_DownData += downDataCallBack;
void downDataCallBack(DownDataResult dataResult)
{
if (dataResult.code == 1)
{
Debug.Log($"下拉Key[{dataResult.key}] 成功 Value=[{dataResult.value}]");
}
else
{
Debug.Log($"下拉Key[{dataResult.key}] 失败");
}
}
挤号问题处理
c#
//玩家可能安卓和ios同时在线,那么就需要处理挤号问题
using ZMYSDK.Util.Event;
//添加挤号的事件监听
ZMYSDK.Util.Event.MsgDispatcher.AddEventListener(GlobalEventType.AccountInvalid,OnAccountInvalid);
void OnAccountInvalid(object[] Args)
{
int code = (int)Args[0];//code=-100
string msg = (string)Args[1];//msg="tokent失效或不存在"
//挤号处理,一般是弹窗给提示,提示:已在其他设备登录,请退出游戏
}
点我快速对接


