信息化管理系统 | 数字孪生 · 智慧园区 · 数字大屏 | App · 微信 · 小程序 | 元宇宙 · 区块链 · 3D展厅 | 虚拟仿真系统 | 新零售电商

游戏开发前后端联调注意事项

那么当我们在游戏开发的时候该如果的操作呢?让我们一起和九影网络一起看下去吧~

 

1.获取接口列表

有些项目是前端定接口,有些项目是后端定接口,现在HTTP接口一般在YApi上,没有权限问管理员要,Socket接口在Wiki上,直接去项目目录找

2.接口开发

接口是按照项目前后端数据获取需求设计的,接口开发就是通过后端接口获取自己需要的数据或是告诉后端他需要的数据

3.接口联调

接口开发完成,自测接口是否跑通,数据获取是否正常

 

接口联调原则

接口按功能联调,按流程联调,尽量写好一部分就联调一部分,前后端多沟通进度,不要等全部写完在一次联调,时间利用率太低了

 

Ⅰ.socket联调说明

A.egret平台

现在的egret工具集带有一个websocket工具Potala.SocketService

该工具是单例对象,使用getSingleton方法获取

 

主要使用方法

addCallback方法增加接口的监听回调,参数  回调名key, 回调函数callback,  回调函数作用域thisObj

removeCallback方法移除监听回调,参数  回调名key

addConnectCallback方法增加连接成功回调,参数   回调标识符(用于移除回调)tag,  回调函数callback,  回调函数作用域caller

removeConnectCallback方法移除连接成功回调,参数   回调标识符tag

addDownCallback方法增加断线回调,参数   回调标识符(用于移除回调)tag,  回调函数callback,  回调函数作用域caller

removeDownCallback方法移除断线回调,参数   回调标识符tag

sendMsg方法发送消息,参数   回调名m,  发送时是否禁用鼠标交互的配置special,  发送的内容(可变数组)args(保证args的顺序和接口文档一致即可)

 

现在的处理流程是

每个游戏和大厅都有一个处理接口监听的类,负责该页面所有接口的收发和断线重连

进入游戏或者大厅时会有一个初始化流程,监听这个游戏或者大厅的所有接口,并且新增断线监听和连接成功监听做断线重连处理

离开游戏或者大厅的时候移除所有监听

注:1.离开的时候一定要注意移除所有监听,不然会出大问题

2.方便接口查询,一般是每个大厅及每个游戏一个专门的类里使用字符串常量保存接口名

B.Unity平台

处理流程与egret基本一致,仅介绍使用方法上的不同

unity工具集里的socket连接工具为NetMngr,该工具是单例对象,使用GetSingleton方法获取

 

主要使用方法

AddListener方法监听回调,参数   接口名name,  回调方法Action<Hashtable>

RemoveListener方法移除监听,参数   接口名name

连接成功回调和断线回调使用Action监听

Send方法发送消息,参数   回调名strMethod,  发送的数据args,  发送的二进制数据(如果有的话)data

C.laya平台

laya暂时没有websocket封装,使用Laya自带的websocket工具即可

Laya使用websocket:WebSocket发送与接收数据__LAYABOX技术文档

 

Ⅱ.HTTP联调说明

A.egret平台

使用HTTP接口的一般是体量相对较小的项目,目前没有集中调用要求,但是尽量使用变量定义接口的公共部分url,方便切换服务器和查找接口

比如这样

注意HTTP和HTTPS,和后端确认好,使用GET方法还是POST方法也要和后端确认好

egret工具集有HTTP工具HttpService

该工具是单例对象,使用getSingleton方法获取

只有一个发送方法sendRequest,参数   请求地址url, 请求类型requestType,  请求参数(post方法用)parm,  请求数据格式format,  完成回调callback,  回调作用域caller

B.Unity平台

Unity平台工具集有一个HTTP工具HttpMngr

该工具是单例对象,使用GetSingleton方法获取

可以给该工具的url变量赋值使用Get和Post以及PostBytes方法

也可以直接用GetWithUrl和PostWithUrl以及PostBytes方法

因为其使用的WWW方式已过期,不推荐继续使用

unity最新的官方推荐的HTTP请求的方式为UnityWebRequest

使用方式见:UnityWebRequest的初步使用及常用方法解析_mafanwei的博客-CSDN博客

UnityWebRequest加载图片参考:UnityWebRequest 加载网络图片当作贴图给物体_MMMeKey博客园-CSDN博客

C.laya平台

laya平台没有封装HTTP工具集,使用Laya自带的HTTP工具即可

Laya发送HTTP请求:HttpRequest详解__LAYABOX技术文档

 

那么游戏开发哪家好?
   游戏开发请找上海九影,九影网络专注“互动 · 游戏 · 营销 · 系统”开发10余年,提供:休闲娱乐游戏、教育教学游戏、互动对战游戏、微信/小程序、品牌营销H5、移动App、政企信息化系统、三维展览展示、元宇宙/ARVR体感体感等服务。

手机:15000568602(微信同号)