主题
Skip to content
说明
登录模块提供了适配市场的登录方式
可以参考示例中的内容,来集成登录模块
登录时需要注意的存档操作流程
使用登录模块后,请使用有登录存档流程进行存档。
游客登录
游客登录时,sdk会根据用户的DeviceID来生成一个userid,在用户没有调用注销接口时,始终会使用最新游客账号对应的存档。当调用注销接口后,该存档被清理。
游客登录+渠道登录
游客登录后,如果cp切渠道登录,进行了渠道登录操作。此时会有两种情况
1、渠道账号下已有存档
此时游客账号存档不会丢失,会切换至渠道账号下的存档,下次用户进行游客登录,会继续回到游客存档。
2、渠道账号下无存档
此时SDK会自动将游客账号下的存档转移到渠道账号下,并清除游客账号下的存档数据。下次用户进行游客登录会新开存档。
渠道登录
渠道登录直接按照有登录存档流程进行存档来进行存档即可。
接口
示例
C#
using System.Collections;
using System.Collections.Generic;
using System.Text;
using ZMYSDK;
using UnityEngine;
using UnityEngine.UI;
public class loginTest : MonoBehaviour
{
public Text m_resultTxt;
// Start is called before the first frame update
void Start()
{
ZMYSDKManager.I.Login_CallBack += LoginCallBack;
ZMYSDKManager.I.Login_Out += Login_Out;
ZMYSDKManager.I.Login_Off += Login_Off;
ZMYSDKManager.I.Login_UpLoadData += upLoadDataCallBack;
ZMYSDKManager.I.Login_DownData += downDataCallBack;
}
public void Click_LoginState()
{
int code = ZMYSDKManager.I.Sdk.ServerLoginStateStatic();
if (code==1)
{
m_resultTxt.text = "已登录";
}
else
{
m_resultTxt.text = "未登录";
}
}
public void Click_LoginSupportItemInfo()
{
List<LoginChannelInfo> info = ZMYSDKManager.I.LoginSupportItemInfo();
StringBuilder sb = new StringBuilder();
if (null== info || info.Count<=0)
{
m_resultTxt.text = "获取支持的登录方式失败";
return;
}
foreach (var item in info)
{
sb.Append(item.type + "-" + item.subType);
sb.Append("||");
}
m_resultTxt.text = "支持的登录方式有:" + sb.ToString();
}
public void Click_Login()
{
ZMYSDKManager.I.Sdk.ServerLoginAppStatic();
}
void LoginCallBack(LoginResult loginResult)
{
if (loginResult.code==1)
{
Debug.Log("登录成功");
m_resultTxt.text = "登录成功" + loginResult.loginInfo.userId;
}
else
{
Debug.Log("登录失败");
m_resultTxt.text = "登录失败";
}
}
public void Click_LoginExit()
{
ZMYSDKManager.I.Sdk.ServerLoginExitStatic();
}
void Login_Out(SdkResult result)
{
if (result.code == 1)
{
Debug.Log("退出成功");
m_resultTxt.text = "退出成功";
}
else
{
Debug.Log("退出失败");
m_resultTxt.text = "退出失败";
}
}
public void Click_LoginOff()
{
ZMYSDKManager.I.Sdk.DoAccountLoginOffStatic();
}
void Login_Off(SdkResult result)
{
if (result.code == 1)
{
Debug.Log("注销成功");
m_resultTxt.text = "注销成功";
}
else
{
Debug.Log("注销失败");
m_resultTxt.text = "注销失败";
}
}
public void Click_ClickBindAccount()
{
Debug.Log("Click_ClickBindAccount");
ZMYSDKManager.I.Sdk.VisitorBindAccount();
}
public void Click_GetUserInfo()
{
LoginInfo loginInfo = ZMYSDKManager.I.LoginGetUserInfo();
if (null==loginInfo)
{
m_resultTxt.text = "用户信息获取失败";
}
else
{
m_resultTxt.text = "用户信息获取成功+" + loginInfo.userId;
}
}
public InputField m_key;
public InputField m_Value;
public void Click_UpLoadData()
{
ZMYSDKManager.I.Sdk.ServerLoginUploadDataStatic(m_key.text, m_Value.text);
}
void upLoadDataCallBack(UploadDataResult dataResult)
{
if (dataResult.code==1)
{
Debug.Log($"数据Key[{dataResult.key}] 上传成功");
m_resultTxt.text = $"数据Key[{dataResult.key}] 上传成功";
}
else
{
Debug.Log($"数据Key[{dataResult.key}] 上传失败");
m_resultTxt.text = $"数据Key[{dataResult.key}] 上传失败";
}
}
public void Click_GetData()
{
ZMYSDKManager.I.Sdk.ServerLoginGetDataStatic(m_key.text);
}
void downDataCallBack(DownDataResult dataResult)
{
if (dataResult.code == 1)
{
Debug.Log($"数据Key[{dataResult.key}] 下载成功 Value=[{dataResult.value}]");
m_resultTxt.text = $"数据Key[{dataResult.key}] 下载成功 Value=[{dataResult.value}]";
}
else
{
Debug.Log($"数据Key[{dataResult.key}] 下载失败");
m_resultTxt.text = $"数据Key[{dataResult.key}] 下载失败";
}
}
void OnDestroy()
{
ZMYSDKManager.I.Login_CallBack -= LoginCallBack;
ZMYSDKManager.I.Login_Out -= Login_Out;
ZMYSDKManager.I.Login_Off -= Login_Off;
ZMYSDKManager.I.Login_UpLoadData -= upLoadDataCallBack;
ZMYSDKManager.I.Login_DownData -= downDataCallBack;
}
}
点我快速对接


