更新日期:2026-02-13Unity3D接入文档
请先到"下载中心",下载“QuickSDK For Unity 3D”版本的SDK包。将其中的QuickSDKForUnity.unitypackage文件导入到Unity工程里面(如果无法导入,请再次确认文件是放置于非中文路径下的),如下图所示:
注: 调用QuickSDK.cs类的接口,并实现其回调方法
需要先添加quicksdk的命名空间(using quicksdk;),并通过 QuickSDK.getInstance( ) 方法获取QuickSDK类的实例
1.2.1. 设置监听器(必接)
接口:void setListener(QuickSDKListener quickSDKListener )
案例:调用QuickSDK.getInstance().setListener函数,其参数传入实例化的QuickSDKListener类对象。setListener函数请尽可能早的设置,便于监听回调。
脚本需要实现的回调请参考以下代码:
public class EventHandle : QuickSDKListener {
void Start () {
QuickSDK.getInstance().setListener (this);
}
public override void onInitSuccess(){
//初始化成功的回调
}
public override void onInitFailed(ErrorMsg errMsg){
//初始化失败的回调
}
public override void onLoginSuccess (UserInfo userInfo){
//登录成功的回调
}
public override void onLoginFailed (ErrorMsg errMsg){
//登录失败的回调
//如果游戏没有登录按钮,应在这里再次调用登录接口
}
public override void onSwitchAccountSuccess (UserInfo userInfo){
//切换账号成功的回调
//一些渠道在悬浮框有切换账号的功能,此回调即切换成功后的回调。游戏应清除当前的游戏角色信息。在切换账号成功后回到选择服务器界面,请不要再次调用登录接口。
}
public override void onLogoutSuccess (){
//注销成功的回调
//游戏应该清除当前角色信息,回到登陆界面,并自动调用一次登录接口
}
public override void onPaySuccess (PayResult payResult){
//支付成功的回调
//一些渠道支付成功的通知并不准确,因此客户端的通知仅供参考,游戏发货请以服务端通知为准,不能以客户端的通知为准
}
public override void onPayCancel (PayResult payResult){
//支付取消的回调
}
public override void onPayFailed (PayResult payResult){
//支付失败的回调
}
public override void onExitSuccess (){
//SDK退出成功的回调
//在此处调用QuickSDK.getInstance().exitGame()函数即可实现退出游戏,杀进程。为避免与渠道发生冲突,请不要使用Application.Quit()函数
}
}
1.2.2. 初始化(必接)
接口:void init();
功能:调用渠道SDK的初始化
案例:QuickSDK.getInstance().init();
1.2.3. 登录(必接)
接口:void login();
功能:调用渠道SDK的登录
案例:QuickSDK.getInstance().login();
1.2.4. 上传角色信息(必接)
注:需要在创建角色,进入游戏,角色升级的时候分别调用上传角色信息的接口
1.2.4.1. 创建角色时上传
接口:void createRole(GameRoleInfo gameRoleInfo);
功能:创建角色时向渠道SDK上传角色信息
案例:
GameRoleInfo gameRoleInfo = new GameRoleInfo(); gameRoleInfo.gameRoleBalance = "0"; gameRoleInfo.gameRoleID = "000001"; gameRoleInfo.gameRoleLevel = "1"; gameRoleInfo.gameRoleName = "钱多多"; gameRoleInfo.partyName = "同济会";//设置公会名称 gameRoleInfo.serverID = "1"; gameRoleInfo.serverName = "火星服务器"; gameRoleInfo.vipLevel = "1"; gameRoleInfo.roleCreateTime = "roleCreateTime";//值为10位数时间戳 gameRoleInfo.gameRoleGender = "男"; gameRoleInfo.gameRolePower ="38";//设置角色战力,必须为整型字符串 gameRoleInfo.partyId ="1100";//设置公会id,必须为整型字符串 gameRoleInfo.professionId = "11";//设置角色职业id,必须为整型字符串 gameRoleInfo.profession = "法师";//设置角色职业名称 gameRoleInfo.partyRoleId = "1";//设置角色在公会中的id gameRoleInfo.partyRoleName = "帮主"; //设置角色在公会中的名称 gameRoleInfo.friendlist = "无";//设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190 QuickSDK.getInstance ().createRole(gameRoleInfo);//创建角色
1.2.4.2. 进入游戏时上传
接口:void enterGame(GameRoleInfo gameRoleInfo);