Unity接⼊QuickSdk实战
最近因为项⽬需要,接⼊QuickSDK,因为关于QuickSDK的介绍⽐较少。甚⾄官⽅⽂档没有直观的时序图。所以就照着官⽅Demo接⼊⼀遍QuickSDK,讲⼀些个⼈见解。
⾸先我在Unity⾥⾯搭建了⼀个简单的UI界⾯,⽤于各种情况下的测试。
第⼀部分、登陆
在不同的按钮下⾯绑定不同的点击事件。
第⼀个是登陆,官⽅的登陆是属于必须要接的部分。
登陆也很简单,就是⼀句简单的
/// <summary>
/// 登陆时候调⽤
/// </summary>
void Login()
{
}
直接调⽤其SDK⽅法就可以吊起登陆。
母包点击Login按钮后会吊起QuickSDK的登陆窗⼝。可以输⼊任意账户名,注意这个账户名可以不需要提前注册。就可以登陆。
登陆完毕以后,SDK服务器会返回UID和Token等字段。
当客户端拿到UID和Token就可以进游戏逻辑了。
通过⽤户唯⼀的UID与游戏服务器通信,获取详细信息
那么登陆就接完了。
特别注意,QuickSDK的UID与⽤户名有关,与其他的设备平台⽆关。
第⼆部分、进⼊游戏
在接⼊⽀付之前,我们⾸先要让QuickSDK知道当前登陆的⾓⾊是什么?
所以需要接⼊enterGame这个⽅法。
我们⽤的是QuickSDK⾃⾝Demo的参数来⽣成⽤户⾓⾊,实际使⽤过程中还需要开发⼈员根据游戏配置来个性化每个字段的参数。
为了更加⽅便的存取数据,我们单独采⽤了⼀个⽅法,因为⽅法是初级阶段,所以不会有传参。
public static void SetRoleInfo()
{
m_Role.gameRoleBalance = "0";
m_Role.gameRoleID = "000001";
m_Role.gameRoleLevel = "1";
m_Role.gameRoleName = "钱多多";
m_Role.partyName = "同济会";
m_Role.serverID = "1";
m_Role.serverName = "⽕星服务器";
m_Role.vipLevel = "1";
leCreateTime = "roleCreateTime";//UC,当乐与1881渠道必传,值为10位数时间戳
m_Role.gameRoleGender = "男";//360渠道参数
m_Role.gameRolePower = "38";//360渠道参数,设置⾓⾊战⼒,必须为整型字符串
m_Role.partyId = "1100";//360渠道参数,设置帮派id,必须为整型字符串
m_Role.professionId = "11";//360渠道参数,设置⾓⾊职业id,必须为整型字符串
m_Role.profession = "法师";//360渠道参数,设置⾓⾊职业名称
m_Role.partyRoleId = "1";//360渠道参数,设置⾓⾊在帮派中的id
m_Role.partyRoleName = "帮主"; //360渠道参数,设置⾓⾊在帮派中的名称
m_Role.friendlist = "⽆";//360渠道参数,设置好友关系列表,格式请参考:open.quicksdk/help/detail/aid/190
}
我们⽤这个⽅法来简单设置⽤户信息。
在我们购买之前就要设置⽤户信息
实际上的操作逻辑也是这样,⽤户点击登陆后获取UID和Token,然后就会选择⾓⾊,选完⾓⾊后,就需要向服务器传⼊⾓⾊信息才能进⼊游戏⼤厅。
public void OnEnterDown()
{
Debug.Log("EnterBtnDown");
}
在当前项⽬中点击Enter按钮后就会调⽤上述⽅法,将⾓⾊信息传⼊。
成功后,会显⽰;
这个信息在母包阶段的测试会⼀直显⽰,直到加⼊渠道后会⾃动消失。所以不需要担⼼。
到这⾥,⽤户信息就已经上传完毕了。
第⼆部分、⽀付
⽀付部分也很简单。
同样的,我们使⽤单独的设置商品信息的⽅法,将购买的商品信息这⼀块独⽴出来。因为是测试代码,所以没有设计传参。
public static void SetOrderInfo()
{
dsID = "1";
dsName = "勾⽟";
m_Order.amount = 1;
sdkunt = 10;
m_Order.cpOrderID = "cporderidzzw";
asParams = "extparma";
m_Order.price = 0.1f; //停⽤的,不⽤给值
m_Order.quantifier = "个"; //停⽤的,不⽤给值
dsDesc = "10个勾⽟"; //停⽤的,不⽤给值
}
我们通过点击Pay按钮吊起⽀付
Pay按钮的逻辑如下:
public void OnPayDown()
{
Pay(QuickSDKHelper.GetOrder,QuickSDKHelper.GetRole);
Debug.Log("PayBtnDown");
}
点击成功后,就会显⽰⽀付成功。
需要注意的是,以前我们接⽀付,或者⽀付宝⽀付的时候,必须要先由客户端向服务器统⼀下单,服务器下单完毕后返回单号由客户端进⾏吊起⽀付,但是在QuickSdk中,客户端⽆需向游戏服务器统⼀下单,直接将⽀付信息发送给sdk服务器,然后由sdk服务器告知游戏服务器是否⽀付成功,然后由游戏服务器告知游戏客户端⽀付成功,并进⾏相应的物品发放。
这样的话,整个QuickSDK关键部分的逻辑都已经成功了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论