跳到主要内容

开发指南

Combo SDK 提供 世游通行证 账号登录方式,并支持游客登录和多种 第三方 IdP(微信、TapTap、Google Account、Facebook 等)登录方式。

游戏可以针对不同的发行版本合理的组合使用不同的登录方式。运营同学可以在 世游发行平台 Console > 发行版本 中启用不同的登录方式。

集成前准备

  1. 参考 创建游戏,在世游发行平台完成游戏的创建。
  2. 已经获得游戏的 接入参数
  3. 已经获得接入所需的 SDK 资源
  4. 完成 项目配置初始化 工作。

登录

警告
  • Login 方法用于执行 Combo SDK 的登录操作
  • 如果登录失败,建议对相应的错误进行处理,例如给出错误提示,或者重新尝试登录

支持平台

Android iOS Windows

方法签名

public static void Login(Action<Result<LoginResult>> callback);

代码示例

Show Code
ComboSDK.Login(r =>
{
if (r.IsSuccess)
{
var loginResult = r.Data;
var comboId = loginResult.comboId;
var identityToken = loginResult.identityToken;
}
else
{
var error = r.Error;
if (error.Code == ErrorCode.UserCancelled)
{
Debug.LogError("用户取消登录");
return;
}
Debug.LogError("登录失败:" + error.DetailMessage);
}
});

方法参数

ParametersRequiredTypeDescription
callbackTrueAction<Result<LoginResult>>登录完成后的回调方法,用于接收 Login 的结果

LoginResult

PropertiesSupported PlatformsTypeDescription
loginInfoAndroid iOS WindowsLoginInfoCombo SDK 相关登录信息

Error

ErrorSupported PlatformsDescription
UNKNOWN_ERRORAndroid iOS Windows未知错误
USER_CANCELLEDAndroid iOS Windows用户主动取消操作
NETWORK_ERRORAndroid iOS Windows网络错误
SERVER_ERRORAndroid iOS Windows服务端错误
SYSTEM_ERRORiOS系统错误,如 SignInWithApple 失败
THIRD_PARTY_ERRORAndroid第三方 SDK 错误

登出

信息
  • Logout 方法用于执行 Combo SDK 的登出操作,此方法通常在用户点击 "登出" 按钮时调用
  • 如果登出失败,建议对相应的错误进行处理,例如给出错误提示,或者重新尝试登出

支持平台

Android iOS Windows

方法签名

public static void Logout(Action<Result<LogoutResult>> callback);

代码示例

Show Code
ComboSDK.Logout(r =>
{
if (r.IsSuccess)
{
var comboId = r.Data.comboId;
}
else
{
var error = result.Error;
Debug.LogError("登出失败:"error.DetailMessage);
}
});

方法参数

ParameterRequiredTypeDescription
callbackTrueAction<Result<LogoutResult>>登出完成后的回调方法,用于接收 Logout 的结果

LogoutResult

PropertiesSupported PlatformsTypeDescription
comboIdAndroid iOS Windowsstring供游戏使用的聚合用户标识

获取用户信息

警告

GetLoginInfo 方法用于获取 Combo SDK 的登录信息。请确保在登录成功后再调用此方法,否则返回 null

支持平台

Android iOS Windows

方法签名

public static LoginInfo GetLoginInfo();

代码示例

Show Code
public class Demo : MonoBehaviour
{
//...
void GetLoginInfo()
{
LoginInfo loginInfo = ComboSDK.GetLoginInfo();
var comboId = loginInfo.comboId;
var identityToken = loginInfo.identityToken;
Debug.Log("Combo ID: " + comboId + ", Identity Token: " + identityToken);
}
//...
}

返回值

返回 LoginInfo 对象。

LoginInfo

PropertiesTypeDescription
comboIdstring供游戏使用的聚合用户标识
identityTokenstring为 Combo ID 分配的 JWT,游戏服务端验证用户身份的标识

踢出游戏

警告
  • OnKickOut 方法用于注册 Combo SDK 的用户踢出回调。它在服务端需要强制让用户下线时触发。游戏客户端需要注册这个回调,以确保在收到强制下线通知时,能够立即执行相应的操作,如通知用户当前状态,保存游戏进度,以及进行必要的资源清理。
  • OnKickOut 应在游戏初始化完成后尽早注册其回调,这样可以保证在任何必要的情况下,都能够及时接收并处理强制下线通知。

支持平台

Android iOS Windows

方法签名

public static void OnKickOut(Action<Result<KickOutResult>> callback);

代码示例

Show Code
ComboSDK.OnKickOut(r =>
{
if (r.IsSuccess)
{
var result = r.Data;
if (result.shouldExit)
{
//TODO: 处理退出游戏的逻辑
Application.Quit();
}
else
{
//TODO: 处理登出游戏的逻辑
GameClient.Logout();
}
}
else
{
var err = r.Error;
Debug.Log("踢出失败: " + err.DetailMessage);
}
});

方法参数

ParameterRequiredTypeDescription
callbackTrueAction<Result<KickOutResult>>踢出游戏的回调方法,用于接收踢出事件并进行处理

KickOutResult

PropertiesSupported PlatformsTypeDescription
shouldExitAndroid iOS WindowsBool是否需要退出游戏 App