Skip to content

CocosCreator接入

WARNING

在接入SDK之前, 建议先请仔细阅读:接入流程
SDK提供了Cocos的Demo,里面对Android/iOS层的逻辑进行了简单的封装,故本文档仅供参考,游戏层也可以自行处理调用逻辑

准备工作

Cocos层的调用接口,都封装在了UGSDK.ts中:

将CocosDemo/CocosCreator/assets/Script/UGSDK.ts 文件拷贝到游戏工程assets/Script/目录下

接口调用之前,需要在接入文件中引入UGSDK组件:

ts
import ugsdkApi, {UGLoginResult, UGOrderData, UGRoleData} from './UGSDK';

接口调用

1、 初始化

我们需要在游戏启动的时候(比如在组件的Start函数)调用初始化接口。如下:

ts
//初始化SDK
ugsdkApi.initSDK();

// 设置登录成功回调
ugsdkApi.setLoginCallback((result:UGLoginResult)=> { 
    this.label.string = '已登录:'+ result.name;
});

// 设置登出回调
ugsdkApi.setLogoutCallback(()=> { 
    // 收到该回调, 说明玩家从SDK中登出了。 游戏需要引导玩法返回到游戏登录界面,并重新拉起登录接口,让玩家重新进入游戏
});

关于UGLoginResult对象:

参数名称参数类型参数说明
uidString用户唯一ID
nameString用户名, 普通用户名/手机号/设备号/第三方平台用户唯一ID(微信登录后这里对应的是unionId)
loginNameString登录用户名
wxOpenIDString微信账号的open id, 只有当accountType为4的时候,才可能会有
accountTypeString1:普通用户登录;2:手机号;3:设备号静默登录;4:微信;5:苹果;6:TapTap;7:抖音
newAccountString1:新注册用户;0:活跃用户
tokenString传给游戏服务器,去SDK服务端验证

2、 登录

在玩家进入游戏之前, 需要调用登录接口,弹出SDK的登陆界面:

ts
ugsdkApi.login();

3、 登出

如果游戏内有登出按钮, 当玩家点击登出按钮的时候, 调用登出接口后(不用等待回调结果),立即返回到游戏登陆界面(不用等待回调结果)

ts
ugsdkApi.logout();

4、 角色数据上报

ts
let data = new UGRoleData();
data.type = "2";      //以下四个地方都需要调用该接口。 每个地方对应的dataType不同。 dataType: 1:创建角色;2:进入游戏;3:等级升级;4:退出游戏

data.roleID = "1";				    //角色ID
data.roleName = "u8demo";		    //角色名称
data.roleLevel  = "1";			    //角色等级
data.serverID = "1";			    //服务器id
data.serverName = "刺激战场";	    //服务器名称
data.createTime = "1000035434";    //角色创建时间戳(秒)
data.lastLevelUpTime = "0";		   //角色升级时间戳(秒)

ugsdkApi.submitGameData(data);

5、 支付

ts
let payData = new UGOrderData();
payData.productID = "1";					    //商品ID
payData.productName = "100元宝";			    //商品名称
payData.productDesc = "购买100元宝,送20";	    //商品描述
payData.price = "100";        				   //商品金额(分)
payData.serverID = "1";						   //服务器ID
payData.serverName = "刺激战场";                //服务器名称
payData.roleID = "1";						   //角色ID
payData.roleName = "u8demo";				   //角色名称
payData.roleLevel = "1";					   //角色等级
payData.payNotifyUrl = "";					   //服务端接收支付成功后的回调通知接口URL地址
payData.vip = "10";							   //角色VIP等级
payData.cpOrderID = "";						   //游戏自己的订单号
payData.extra = "ex";						   //服务端回调时,原样返回给研发
ugsdkApi.pay(payData);

版权所有© 2021-2030 上海丞诺网络科技有限公司