龙图PC版SDK Unity引擎接入说明

1.文档说明

1.1 功能描述

此文档主要是为使用Unity环境的开发者提供PC端的SDK,开发者接入后可以直接导出exe包使用。

1.2 阅读对象

游戏客户端开发者

2.接入准备(导入SDK资源)

服务端配置:请参考 通用接入文档->《SDK服务端接入说明文档》

2.1 导入方式

打开unity 在Assets ->Import Package ->Custom Package… 选择PCUnitySDKResources.unitypackage 点击【import】导入文件导入package包 或者在【Project】面板下空白区域鼠标右键->【Import Package】->【custom Package】选择导入 或者直接找到需要导入的包文件,直接拖拽到【Project】面板下
如果导入unitypackage有资源缺失 也可以直接复制提供的demo工程里面的相关代码和资源到游戏工程中。

2.2 资源目录结构介绍

pcsdk目录结构
demo里面包含场景和示例代码
Editor里面包含一键导出exe的代码 参考BuildProject.cs 项目组同事可参考可以自己处理
BestHTTP、LitJson、LongtuSDKscript、LTBaseSDK、LTBrowser是需要引用的库文件和SDK包含的相关代码。
Plugins 里面包含了一些需要用到的dll文件
Resources 里面包含了sdk需要用到的本地弹窗提示UI Prefabs和PC端显示内嵌webview所需的Prefabs
StreamingAssets里面包含了sdk需要的配置文件。

3.特别说明

重点关注LongtuSDKscript 下面的LongTuSDK和LongTuSDKListener
LongTuSDK里面包含了主动调用设置监听、初始化、
、登录、注销、切换账号、用户中心、礼包码、支付、角色信息设置以及其他接口等。
LongTuSDKListener 是从pc、android、ios端监听返回的相应回调接口。

3.1 注意事项

具体接入方式可参照Assets->demo-> EventHandle.cs

游戏须自定义类继承LongTuSDKListener 实现callback接口 回调接口会包含游戏用到的参数信息 游戏可以使用该参数 发起登录验证等相关逻辑操作。
接口调用示例:

  1. LongTuSDK.getInstance().XXX

回调接口示例:

  1. public override void XXX()
  2. {
  3. throw new System.NotImplementedException();
  4. }

4.接口介绍

4.1 设置SDK接收回调gameObject【必接】

4.1.1 接口定义

  1. /// <summary>
  2. /// 设置回调监听的gameobject
  3. /// </summary>
  4. /// <param name="listener">实现LongTuSDKListener的类</param>
  5. public void setListener(LongTuSDKListener listener)

4.1.2 重要说明

此接口需要在脚本生命周期的Start()里调用 在初始化接口之前。

4.1.3 参数说明

参数名称 是否必传 类型 说明
listener 必传 LongTuSDKListener 当前实现LongTuSDKListener回调的类

4.1.4 接口示例

  1. LongTuSDK.getInstance().setListener(this);

4.2 SDK初始化接口【必接】

4.2.1 接口定义

  1. /// <summary>
  2. /// 初始化sdk
  3. /// </summary>
  4. /// <param name="version">版本名称</param>
  5. /// <param name="versioncode">版本号</param>
  6. /// <param name="gameResVer">游戏资源版本号,无资源版本号可传"</param>
  7. public void reInit(string version, string versioncode, string gameResVer)

4.2.2 重要说明

此接口要在setListener之后 以及调用其他接口之前调用。

4.2.3 参数说明

参数名称 是否必传 类型 说明
version 必传 String 版本名称
versioncode 必传 String 版本号
gameResVer 可选 String 游戏资源版本号,如游戏无此概念则可以传null。

4.2.4 接口示例

  1. LongTuSDK.getInstance().reInit("1.0.6","1","1");

4.2.5 初始化结果回调

初始化成功的回调

  1. public override void onInitSuccess(){}

初始化失败的回调

  1. public override void onInitFailed(ErrorMsg errMsg)
  2. {
  3. showLog("onInitFailed", "msg: " + errMsg.errMsg + "code: " + errMsg.errCode);
  4. }

4.2.6 初始化回调接口参数ErrorMsg说明

参数名称 类型 说明
errMsg string 错误描述
errCode string 错误码

4.3 SDK登录接口【必接】

4.3.1 功能说明

调出unity内嵌Webview SDK登录界面 可以进行账号登录注册 扫码登录等操作

4.3.2 接口定义

  1. //登录接口
  2. public void login ()

4.3.3 接口示例

  1. LongTuSDK.getInstance().login();

4.3.4 登录成功回调接口

  1. public override void onLoginSuccess(UserInfo userInfo)
  2. {
  3. showLogWarning("onLoginSuccess", "uid: " + userInfo.uid + " ,username: " + userInfo.username + " ,userToken: " + userInfo.token + " ,loginType: " + userInfo.logintype + " ,deviceType: " + userInfo.deviceType + ", snid: " + userInfo.snid + ", serviceId: " + userInfo.serviceId + " ,returnJson: " + userInfo.returnJson +", msg: " + userInfo.errMsg);
  4. SceneManager.LoadScene("scene2");
  5. }

4.3.5 登录成功回调接口参数说明

参数名称 重要性 类型 说明
userInfo 必须 UserInfo 当前登录用户的用户信息数据。

4.3.6 登录成功返回数据UserInfo说明

参数名称 类型 说明
userInfo.uid String 用户中心生成的用户ID,游戏应以此ID作为用户登陆的唯一标识
userInfo.token String 用户中心生成的用户token,游戏需要用来向用户中心服务器做登录验证
userInfo.logintype String 登录类型
userInfo.username String 用户中心生成的用户名称
userInfo.returnJson String Json格式的字符串。第三方用户系统返回给用户中心的数据,不同渠道返回的数据会有所不同,游戏根据情况酌情使用,不需要的话可以不取。
userInfo.deviceType String 设备类型,扫码、选择来源的设备类型, iOS 0002 安卓 0000
userInfo.snid String 渠道id,扫码、选择来源的snid
userInfo.serviceId String 渠道id,扫码、选择来源的serviceId
userInfo.errMsg String 错误信息

userInfo.logintype: 登录类型,具体值的含义请见下表

loginType 含义
speedyLogin 快速登录
speedyRegister 快速注册
commonLogin 普通登录
commonRegister 普通注册
thirdHiddenLogin 第三方用户登录
thirdHiddenRegister 第三方用户注册
phoneVerifyCodeLogin 手机验证码登录
phoneVerifyCodeRegister 手机验证码注册
phoneLogin 手机登录
phoneRegister 手机注册

4.3.7 登录失败回调

  1. public override void onLoginFailed (ErrorMsg errMsg)
  2. {
  3. showLog("onLoginFailed", "msg: "+ errMsg.errMsg);
  4. }

ErrorMsg说明

参数名称 类型 说明
errMsg string 错误描述
errCode string 错误码

4.3.8 登录取消回调

  1. public override void onLoginCancel(ErrorMsg errMsg)
  2. {
  3. showLog("onLoginCancel", "msg: " + errMsg.errMsg + "code: " + errMsg.errCode);
  4. }

ErrorMsg说明

参数名称 类型 说明
errMsg string 错误描述
errCode string 错误码

4.4 sdk登录注销接口【必接】

4.4.1功能说明

注销当前登录账号,注销成功后会调用游戏实现功能后的注销回调接口。

4.4.2接口定义

  1. public void logout ()

4.4.3调用示例

  1. LongTuSDK.getInstance().logout();

4.4.4注销成功回调接口

  1. public override void onLogoutSuccess ()
  2. {
  3. showLog("onLogoutSuccess", "");
  4. //注销成功后具体逻辑请游戏客户端实现。
  5. SceneManager.LoadScene("scene1");
  6. }

4.5 sdk切换账号接口【必接】

4.5.1接口定义

  1. public void switchAccount()

4.5.2接口示例

  1. LongTuSDK.getInstance().switchAccount();

4.5.3切换账号登录成功回调接口

  1. public override void onSwitchAccountSuccess(UserInfo userInfo){
  2. //切换账号成功,清除原来的角色信息,使用获取到新的用户信息,回到进入游戏的界面,不需要再次调登录
  3. showLogWarning("onSwitchAccountSuccess", "uid: " + userInfo.uid + " ,username: " + userInfo.username + " ,userToken: " + userInfo.token + " ,loginType: " + userInfo.logintype + " ,deviceType: " + userInfo.deviceType + ", snid: " + userInfo.snid + ", serviceId: " + userInfo.serviceId+ " ,returnJson: " + userInfo.returnJson + ", msg: " + userInfo.errMsg);
  4. SceneManager.LoadScene("scene2");
  5. }

4.5.4切换账号登录成功回调接口参数说明

参数名称 重要性 类型 说明
userInfo 必须 UserInfo 当前登录用户的用户信息数据。

4.5.5切换账号登录成功返回数据UserInfo说明

参数名称 类型 说明
userInfo.uid String 用户中心生成的用户ID,游戏应以此ID作为用户登陆的唯一标识
userInfo.token String 用户中心生成的用户token,游戏需要用来向用户中心服务器做登录验证
userInfo.logintype String 登录类型
userInfo.username String 用户中心生成的用户名称
userInfo.returnJson String Json格式的字符串。第三方用户系统返回给用户中心的数据,不同渠道返回的数据会有所不同,游戏根据情况酌情使用,不需要的话可以不取。
userInfo.deviceType String 设备类型,扫码来源的设备类型
userInfo.snid String 渠道id,扫码来源的snid
userInfo.serviceId String 渠道id,扫码来源的serviceId
userInfo.errMsg String 错误信息

userInfo.logintype: 登录类型,具体值的含义请见下表

loginType 含义
speedyLogin 快速登录
speedyRegister 快速注册
commonLogin 普通登录
commonRegister 普通注册
thirdHiddenLogin 第三方用户登录
thirdHiddenRegister 第三方用户注册
phoneVerifyCodeLogin 手机验证码登录
phoneVerifyCodeRegister 手机验证码注册
phoneLogin 手机登录
phoneRegister 手机注册

4.5.6切换账号登录失败回调

  1. public override void onSwitchAccountFailed(ErrorMsg message)
  2. {
  3. showLog("onSwitchAccountFailed", "msg: " + message.errMsg);
  4. }

ErrorMsg说明

参数名称 类型 说明
errMsg string 错误描述
errCode string 错误码

4.6角色信息设置接口【必接】

4.6.1功能说明

成功登录并进入游戏后,游戏客户端必须调用此接口设置用户的角色信息,角色信息在其他功能接口中需要用到,如未调用则无法使用支付功能。用户首次创建或注册角色并登录时,需要调用一次注册设置和一次登录设置;用户使用老角色登录,则只需要调用一次登录设置。

注意:
1.游戏内没有角色注册行为的,在游戏自动给用户创建角色的时候,即认为注册。
2.用户首次创建或注册角色并登录时,需先调用注册设置,再调用登录设置。
3.研发需要在本地做基础判断,一些特殊符号不允许出现在角色名、公会名、队伍名、联盟名等名称中,具体符号_(, | { } “ ‘ \ / @ $ # & ! - + ( ) . ? ~ )^*

4.6.2接口定义

  1. /**
  2. * 游戏在创建角色、登录、角色数据发生变化时调用
  3. *
  4. * @param roleinfo
  5. */
  6. public void createRole(LTRoleInfo gameRoleInfo)//创建角色
  7. public void enterGame(LTRoleInfo gameRoleInfo)//开始游戏
  8. public void updateRole(LTRoleInfo gameRoleInfo);//角色信息变更

4.6.3 LTRoleInfo参数说明

参数名称 重要性 类型 说明
serverName 必须 String 当前角色所在游戏服务器名称
serverID 必须 String 当前角色所在游戏服务器ID
gameRoleName 必须 String 角色名称
gameRoleID 必须 String 角色ID
gameRoleLevel 必须 String 角色等级
vipLevel 必须 String 角色VIP等级,没有等级可以传”0”
laborunion 非必须 String 角色所在公会
roleCreateTime 必须 String 角色创建时间(服务器采集)参数类型:String时间类型:long 精度:秒 (即10位数)
roleLevelMTime 必须 String 角色等级变化时间(服务器采集)参数类型:String 时间类型:long 精度:秒 (即10位数)

4.6.4 接口示例

  1. LTRoleInfo gameRoleInfo = new LTRoleInfo();
  2. gameRoleInfo.gameRoleID = "000001";
  3. gameRoleInfo.gameRoleLevel = "1";
  4. gameRoleInfo.gameRoleName = "哈哈哈";
  5. gameRoleInfo.laborunion = "嘿嘿嘿";
  6. gameRoleInfo.serverID = "1";
  7. gameRoleInfo.serverName = "1区";
  8. gameRoleInfo.vipLevel = "1";
  9. gameRoleInfo.roleCreateTime = "roleCreateTime";
  10. gameRoleInfo.roleLevelMTime = "roleLevelMTime";
  11. // 角色注册成功需调用此接口设置角色信息,正常情况下,注册只在新角色注册成功后调用一次
  12. LongTuSDK.getInstance ().createRole(gameRoleInfo);//创建角色
  13. LTRoleInfo gameRoleInfo = new LTRoleInfo();
  14. gameRoleInfo.gameRoleID = "11111";
  15. gameRoleInfo.gameRoleLevel = "1";
  16. gameRoleInfo.gameRoleName = "哈哈哈";
  17. gameRoleInfo.laborunion = "嘿嘿嘿";
  18. gameRoleInfo.serverID = "1";
  19. gameRoleInfo.serverName = "1区";
  20. gameRoleInfo.vipLevel = "1";
  21. gameRoleInfo.roleCreateTime = "roleCreateTime";
  22. gameRoleInfo.roleLevelMTime = "roleLevelMTime";
  23. // 角色登陆成功并成功进入游戏后需调用此接口设置角色信息,在每次角色登陆成功后都要调用
  24. LongTuSDK.getInstance ().enterGame (gameRoleInfo);//进入游戏
  25. LTRoleInfo gameRoleInfo = new LTRoleInfo();
  26. gameRoleInfo.gameRoleID = "11111";
  27. gameRoleInfo.gameRoleLevel = "99";
  28. gameRoleInfo.gameRoleName = "哈哈哈";
  29. gameRoleInfo.laborunion = "嘿嘿嘿";
  30. gameRoleInfo.serverID = "1";
  31. gameRoleInfo.serverName = "1区";
  32. gameRoleInfo.vipLevel = "13";
  33. gameRoleInfo.roleCreateTime = "roleCreateTime";
  34. gameRoleInfo.roleLevelMTime = "roleLevelMTime";
  35. LongTuSDK.getInstance ().updateRole(gameRoleInfo);//角色信息变更

4.7进入用户中心【必接】

4.7.1功能说明

进入官网SDK的用户中心界面。

4.7.2接口定义

  1. public void userCenter()

4.7.3接口示例

  1. LongTuSDK.getInstance().userCenter();

4.8支付接口【必接,CB期间根据运营需求接入】

4.8.1功能说明

扫描二维码支付,实现游戏中的道具购买。
注意:
如游戏中所卖商品在游戏界面显示为“100元宝”,当调用支付接口时,商品名称请传“元宝”,商品数量请传“100”
如游戏中所卖商品在游戏界面显示为“月卡“,当调用支付接口时,商品名称请传“月卡”,商品数量请传“1”
如游戏中所卖“月卡”有多个,当调用支付接口时,商品名称建议传入月卡的金额。例如“30元月卡”、“50元月卡”等等,商品数量请传“1”
礼包类与月卡同理,请在商品名称尽量传入礼包对应的价格,例如:“30元礼包”,“50元礼包,商品数量请传“1”。

4.8.2接口定义

  1. public void pay (LTProduct orderInfo)

4.8.3 LTProduct参数说明

参数名称 重要性 类型 说明
productId 必须 String 游戏自定义的商品ID,必传。
price 必须 String 商品价格,单位为分。
currencyType 必须 String 货币类型(1人民币2美元3日元4港币5英镑6新加坡币7越南盾8台币9韩元10泰铢)
productName 必须 String 商品名称
buyNum 必须 String 商品数量
productDesc 必须 String 商品描述
currency 可选 String 购买的虚拟货币名称,比如 钻石,金币,宝石 等
GamedDeliverUrl 可选 String 游戏发放道具服务器地址,用户支付成功后计费中心会回调此地址告知游戏进行道具发放。 可以配置到SDK后台。
extension 可选 String 游戏自定义数据,支付成功后,计费中心会将此字段数据回传给游戏服务器。
rolelv 可选 String 角色等级,请传数字。
roleVipLv 可选 String 角色VIP等级,请传数字,如游戏中无角色VIP等级可以传0。

currencyType说明:

货币类型值 货币名称 货币单位
1 人民币
2 美元 美分
3 日元
4 港币
5 英镑 便士
6 新加坡币
7 越南盾
8 台币
9 韩元
10 泰铢 萨当

4.8.4接口示例

  1. LTProduct product = new LTProduct();
  2. product.productId = "1000";
  3. product.price = "1";
  4. product.currencyType = "1";
  5. product.productName = "测试商品";
  6. product.buyNum = "100";
  7. product.productDesc = "100测试商品";
  8. product.currency = "钻石";
  9. product.extension = "我是扩展字段";
  10. product.rolelv = "99";
  11. product.roleVipLv = "15";
  12. LongTuSDK.getInstance ().pay (product);

4.8.5回调接口说明

  1. //支付成功
  2. public override void onPaySuccess (PayResult payResult)
  3. {
  4. showLog("onPaySuccess", "pbid: " + payResult.pbid + ", orderID: " + payResult.orderID );
  5. }
  6. //用户取消支付
  7. public override void onPayCancel (PayResult payResult)
  8. {
  9. showLog("onPayCancel", "pbid: " + payResult.pbid + ", orderID: " + payResult.orderID);
  10. }
  11. //支付失败
  12. public override void onPayFailed (PayResult payResult)
  13. {
  14. showLog("onPayFailed", "pbid: " + payResult.pbid + ", orderID: " + payResult.orderID);
  15. }
  16. //支付结果未知(下单成功)
  17. public override void onPayUnknown(PayResult payResult)
  18. {
  19. showLog("onPayUnknown", "pbid: " + payResult.pbid + ", orderID: " + payResult.orderID);
  20. }

4.8.6回调接口参数说明

参数名称 重要性 类型 说明
pbid 必须 String 游戏自定义商品ID。
orderID 必须 String 计费中心生成的订单号,支付失败或者用户取消支付时可能返回为空。

注:”onPayUnknown”表示当前订单已经成功提交,但用户是否进行支付,以计费中心服务器的通知为准。 “onPayUnknown”代表支付流程结束。”onPayUnknown”回调触发以后不会在有支付成功和支付失败的回调了,游戏需要根据服务器通知为准。

4.9 礼包码兑换【必接】

4.9.1功能说明

通过礼包码来兑换游戏中对应的礼包。

4.9.2礼包码兑换接口定义

  1. public void giftExchange(string giftCode , string url ,string extendParams)

4.9.3参数说明

参数名称 重要性 类型 说明
giftCode 必须 String 需要兑换的礼包码
url 必须 String 兑换成功后,计费中心会通知此地址发货。(游戏服发货地址)
extendParams 可选 String 游戏透传参数,通知发货时会原样返回。

4.9.4接口示例

  1. LongTuSDK.getInstance().giftExchange("礼包码", "172.1.1.1", "我是扩展接口");

4.9.5回调接口说明

  1. //兑换成功:
  2. public override void onGiftExchangeSuccess(string giftid, string extendParams)
  3. {
  4. showLog("onGiftExchangeSuccess", "giftid === "+ giftid + " extendParams === "+ extendParams);
  5. }
参数名称 类型 说明
giftid String 礼包码归属的礼包ID
extendParams String 透传参数
  1. //兑换失败:
  2. public override void onGiftExchangeFail(int code,string message)
  3. {
  4. showLog("onGiftExchangeFail", "code === " + code + " message ===== "+ message);
  5. }
参数名称 类型 说明
code String 错误码
Message String 错误内容详情

4.10生命周期相关接口【必接】

4.10.1 onDestroy调用示例

  1. void OnDestroy()
  2. {
  3. LongTuSDK.getInstance().onDestroy();
  4. }

4.11退出游戏【必接】

4.11.1接口定义

  1. public void exit()

4.11.2接口示例

  1. LongTuSDK.getInstance().exit();

4.11.3退出回调

  1. public override void onExitSuccess ()
  2. {
  3. showLog ("onExitSuccess", "");
  4. //退出成功的回调,游戏实现保存游戏数据,退出游戏
  5. #if UNITY_EDITOR
  6. UnityEditor.EditorApplication.isPlaying = false;
  7. #else
  8. Application.Quit();
  9. #endif
  10. }

4.12开启或者关闭SDK日志输出【正式包需要关闭】

4.12.1功能说明

打开后可以在unity console看到sdk层面的相关信息输出,游戏接入调试阶段可开启 出正式游戏包时请务必关闭日志输出。

4.12.2接口示例

  1. LTBaseSdkLog.isOutLog = true;//开启
  2. LTBaseSdkLog.isOutLog = false;//关闭

4.13获取平台ID【必接】

4.13.1 功能说明

获取当前游戏包中的ServiceId,(游戏联运渠道ID,游戏可根据此ID区分各发行渠道)。

4.13.2接口示例

  1. string ServiceId = LongTuSDK.getInstance().getServiceId();

4.14获取ChannelId【选接】

4.14.1功能说明

获取当前游戏包中的ChannelId,(游戏推广渠道ID,含概CPS渠道,短链渠道等唯一标识)。

4.14.2接口示例

  1. string ChannelId = LongTuSDK.getInstance().getChannelId();

4.15获取SNID【停用】

4.15.1功能说明

建议使用 获取平台ID 接口区分渠道

4.15.2接口示例

  1. string snId = LongTuSDK.getInstance().getsnId();

4.16获取发行区域【选接】

4.16.1功能说明

获取当前游戏包中的LocaleId, (游戏发行区域ID)。

4.16.2 接口示例

  1. string LocaleId = LongTuSDK.getInstance().getLocaleId();

4.17获取机型组ID【选接】

4.17.1功能说明

获取当前游戏包中的deviceGroupId, (机型组ID)。

4.17.2接口示例

  1. string DeviceGroupId = LongTuSDK.getInstance().getDeviceGroupId();

4.18打开活动公告和登录公告接口【选接】

4.18.1功能说明

调用打开活动公告接口,一般用于游戏内公告展示。回调里返回公告打开和关闭事件,回调接口目录:4.19

4.18.2活动公告接口示例

  1. LongTuSDK.getInstance().OpenActivityNotice();

4.18.3登录公告接口示例

  1. LongTuSDK.getInstance().OpenLoginNotice();

4.19设置公告页面开启关闭事件回调【选接】

4.19.1功能说明

回调里返回公告打开和关闭事件

4.19.2回调说明

回调给研发公告的事件,包含用户通过SDK悬浮层公告按钮点击以后的公告事件,研发主动调用活动公告打开关闭事件,公告不存在的回调。

  1. /**
  2. * 登录公告和游戏内活动公告打开关闭事件
  3. */
  4. public override void onSDKActivityNoticeClose(string data)
  5. {
  6. showLog("活动公告关闭事件", "data === " + data);
  7. }
  8. public override void onSDKActivityNoticeStart()
  9. {
  10. showLog("活动公告打开事件", "");
  11. }
  12. public override void onSDKLoginNoticeClose()
  13. {
  14. showLog("登录公告关闭事件", "");
  15. }
  16. public override void onSDKLoginNoticeStart()
  17. {
  18. showLog("登录公告打开事件", "");
  19. }
  20. public override void onSDKNoActivityNotice()
  21. {
  22. showLog("活动公告不存在", "");
  23. }
  24. public override void onSDKNoLoginNotice()
  25. {
  26. showLog("登录公告不存在", "" );
  27. }

4.20打开游戏内外链【选接】

4.20.1功能说明

打开游戏内活动详情页面,通过后台配置的活动id打开指定活动外链。

4.20.2接口定义

  1. /**
  2. * 根据活动ID打开活动页面
  3. * @param activityId 外链id
  4. * @param roleLevel 当前角色等级
  5. * @param roleVipLevel 当前角色VIP等级
  6. */
  7. public void OpenAvtivtyDetils(string activityId, string roleLevel, string roleVipLevel)

4.20.3接口示例

  1. LongTuSDK.getInstance().OpenAvtivtyDetils("19","10", "10");

4.20.4回调接口示例

  1. /**
  2. * 登录公告关闭返回
  3. * @param activityId 研发打开的活动id
  4. * @param data 暂时没用,为以后回传数据预约字段
  5. */
  6. public override void onSDKActivityDetilsClose(string activityId, string data)
  7. {
  8. showLog("onSDKActivityDetilsClose", "活动详情关闭 活动ID activityId = " + activityId + " data ==== " + data) ;
  9. }
  10. /**
  11. * 登录公告弹出,适用于主动弹出。
  12. * @param activityId 研发打开的活动id
  13. */
  14. public override void onSDKActivityDetilsStart(string activityId)
  15. {
  16. showLog("onSDKActivityDetilsStart", "活动详情打开 活动ID activityId = " + activityId);
  17. }
  18. /**
  19. * 没有登录公告
  20. * @param activityId 研发打开的活动id
  21. */
  22. public override void onSDKNoActivityDetils(string activityId)
  23. {
  24. showLog("onSDKNoActivityDetils", "活动不存在 活动ID activityId = " + activityId);
  25. }

4.21客服反馈功能【停用】

4.21.1功能说明

游戏登录成功后,调用此接口,打开客服反馈界面。
游戏需要自己设计UI按钮,当用户点击此按钮时,调用接口,打开客服反馈界面。

4.21.2接口示例

  1. LongTuSDK.getInstance().customerFeedback();

4.22获取资源更新CDN地址功能【必接】

4.22.1功能说明

初始化成功以后可以通过SDK获取配置到GSC后台的CDN数据。可以配置多个CDN和一个回源地址。

4.22.2接口示例

  1. LongTuSDK.getInstance().GetUpdateCDNPath();

4.22.3回调接口示例

获取成功后的 json格式说明

参数名 格式 说明
domainList String cdn地址集合,逗号分隔,研发可以按照顺序尝试使用
  1. public override void onGetPathSuccess(JsonData cdnPath)
  2. {
  3. showLog("onSDKActivityDetilsStart", "cdnPath === " + cdnPath.ToJson());
  4. }
  5. public override void onGetPathFail(int code)
  6. {
  7. showLog("onGetPathFail", "code === " + code);
  8. }

4.23获取Servicecode【必接】

4.23.1功能说明

获取服务器端 发送日志使用的Servicecode
提供给BI日志用。
此接口请在登录成功后调用,不然数据不完整.

4.23.2接口示例

  1. string Servicecode = LongTuSDK.getInstance().getServicecode();

4.24打开隐私协议【必接】

4.24.1 功能说明

可以根据需求在游戏内添加打开隐私协议按钮。

4.24.2接口示例

  1. LongTuSDK.getInstance().OpenAgreement();

4.25获取客户端IP【必接】

4.25.1功能说明

返回客户端当前IP,请在登录成功后获取。

4.25.2接口示例

  1. string ip = LongTuSDK.getInstance().getClientIP();

4.26充值异常SDK提示错误弹窗【选接】

4.26.1功能说明

游戏判断下单时候充值异常(如当前充值的角色账号与登录账号关系不一致时),可调用此接口让SDK弹出固定的错误提示弹窗,用户点击弹窗上的确定按钮会自动退出当前账号登录让用户重新登录。

4.26.2接口示例

  1. LongTuSDK.getInstance().ShowOrderErrorTip();

4.27打开webview【选接】

4.27.1功能说明

打开一个webview,并跳转到指定链接

4.27.2接口使用说明

  1. LongTuSDK.getInstance().OpenWebview("需要打开的url");

4.28打开AIHelp客服【必接】

4.28.1功能说明

直接在外部浏览器中跳转到龙图官网对应产品下的咨询客服界面

4.28.2接口使用说明

  1. LongTuSDK.getInstance().OpenAIhelp();

4.29 敏感词过滤功能 【必接WeGame独占】

4.29.1 功能说明

如果游戏中涉及文本输入,游戏必须接入WeGame SDK提供的敏感词过滤功能。用户可以输入文字的地方包括但不限于:角色名、坐骑、宠物名、技能名字、聊天框等任何需要或允许输入内容的地方。

应用实例
玩家在输入框内输入f
游戏中不会立即在输入框内显示f,而是先传递给SDK接口LTBaseFilterDirtyWords
SDK接口返回结果为f
输入框内最终显示f
玩家继续输入u和c,都会正常显示在输入框内
而当玩家继续输入k时,游戏会将已经输入的fuc和k一起作为fuck传递给SDK接口LTBaseFilterDirtyWords
此时SDK接口返回,游戏会将显示在输入框内
若玩家清空输入框,将fuck abcd直接粘贴至输入框内
游戏会将fuck abcd传递给SDK接口LTBaseFilterDirtyWords
SDK接口返回** abcd,并将其显示在输入框内

仅有wegame渠道支持此接口使用,其他渠道会原样返回

4.29.2 接口使用说明

  1. /// <summary>
  2. /// 游戏内有任何用户可以输入的地方时,游戏必须对这些可输入的内容进行脏字过滤。
  3. /// </summary>
  4. /// <param name="word"> 输入的文字 </param>
  5. /// <returns>返回过滤后的文字,脏字会转为***</returns>
  6. LongTuSDK.getInstance().LTBaseFilterDirtyWords("输入的文字");

4.30 设置游戏中使用的画布【必接】

4.30.1功能说明

由于需要在Canvas下展示SDK相关UI,所以需要游戏调用此接口设置场景中的CanvasName,保证正常运行SDK功能

4.30.2接口使用说明

  1. LongTuSDK.getInstance().SetGameCanvasName("游戏中使用的CanvasName");

4.31 游戏进度上报【必接】

4.31.1 功能说明

研发上报游戏现在的进度,用于SDK标记游戏现在所处进度,并进行相关操作。
以悬浮层按钮开关为例:
SDK会在进入服务器列表时打开SDK悬浮功能条,
SDK会在离开服务器选择时关闭SDK悬浮功能条,
请研发上报事件时尽量准确。

4.31.2 上报进度参数说明

参数名称 说明
LTBaseParam.GAME_PROCESS_EVENT_TYPE_IN_SELECT_SERVERLIST 进入选择服务器列表页面的事件。
LTBaseParam.GAME_PROCESS_EVENT_TYPE_OUT_SELECT_SERVERLIST 离开选择服务器列表页面的事件。

4.31.3 接口示例

  1. /**
  2. * 研发主动调用,传入不同的事件用于标记游戏现在所处进度
  3. *
  4. */
  5. LongTuSDK.getInstance().SendGameProcess(int event);

5.PC语音接入说明 (选接)

游戏多媒体引擎 Unity版本接,请查看接入详情:
http://sdk.longtubas.com/t3/241/4774/1500010356.html