找回密码
 注册帐号

扫一扫,访问微社区

刘国柱 客户端热更新框架之UI热更框架设计(上)

34
回复
1591
查看
[ 复制链接 ]

18

主题

88

帖子

839

积分

Rank: 9Rank: 9Rank: 9

UID
34511
好友
37
蛮牛币
1322
威望
0
注册时间
2014-7-15
在线时间
425 小时
最后登录
2019-5-20

专栏作家

2019-4-25 09:49:58 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 liu_guozhu 于 2019-4-25 09:49 编辑

什么是热更新,为什么需要热更新?
         热更新是目前各大手游等众多App常用的更新方式。简单来说就是在用户通过App Store下载App之后,打开App时遇到的即时更新。对于手游客户端来说,受到苹果审核的约束, 一次审核提交需要10~20天不等的等待时间。而这段时间开发进度依然会推进很多,一旦手游上线,第一个版本在玩家疯狂行为下,出点问题是必然的,所以”在线更新” 就成了家常便饭与必然。如果你要求必须整体重新下载完整下载包体,无法热更, 那么10~20多天后,游戏估计就没啥人了。

热更新客户端过程

热更新客户端过程


热更新要解决的问题?
         1: 更新频繁而IOS审核长,IOS无法用DLL反射机制去做代码更新。 如果无热更新机制,则客户端每次都需要玩家重新下载一次完整的安装包,用户体验不好。
         2: 解决发布包的容量问题,一切都可以增量下载。


热更新的基本原理是什么?
        首先要清楚Unity的打包原理,也就是AssetBundle的打包机制,他会把prefab打包成.asset格式作为传输的数据。通过校验文件的MD5值来判断是否需要更新,如果需要更新则下载差异文件。lua属于解释性文件所以能通过www直接下载到本地,通过C#与lua交互,把逻辑写在lua里,从而实现代码热更新。

为什么需要带热更新的框架?
       在中大型商业项目中,基于以上热更新的实际运营需求,国内外各大游戏公司纷纷基于国内已知技术与成熟插件,由技术总监或者主程来牵头研发自己公司的热更新框架。

笔者开发的热更新简单框架介绍:
         笔者基于自身技术储备参考部分行业公司框架产品,设计了一套简单热更新客户端框架,现介绍如下,希望以此起到抛砖引玉的作用,结交行业朋友。

热更新图片_公告1.png

热更新框架总体构成:
     客户端热更框架,核心主要设计为以下几个模块:
     A:    热更新UI框架模块。
     B:  lua框架(包含热补丁模块)。
             lua框架由“纯lua框架”与“C#映射lua”等技术构成。可以实现在lua脚本中,定义unity的生命周期(eg:  Start()、Update() 等),方便lua的编写与功能扩展。
             业务逻辑方面,固定业务不需要频繁修改的功能,笔者还是坚持用C#完成。 有频繁更新需求的则用基于lua框架来编写。基于本套lua框架,其比纯lua编写效率高很多。
     C:  服务器端热更新流程模块。
     D:  基础支持插件与框架: xlua插件与AB(AssetBundle)框架。

热更新图片_整体组成.png

热更新框架运行过程:
        整体热更框架的运行流程如下:
       1: 首先热更新流程模块启动。 玩家可以从客户端游戏中看到PC或移动端(手机、Ipad等)与服务器的更新过程。
       2: 热更新的UI框架启动。
       3: lua框架启动(与第2部分从宏观上可以并行运行)。
             3.1> 检查本项目中哪些C#脚本需要进行Bug动态更新。
             3.2> 初始化lua框架与C#建立生命周期映射关系,进一步方便程序员在lua中使用unity提供的系统函数(例如:Start()、Update()等) 。
             3.3> lua框架启动完毕后,通知框架外部可以开始加载项目lua文件,且运行期解释执行。
       4:  场景资源加载。

热更新图片_整体架构.png


最后由于篇幅所限,笔者先写到这。下一篇本人会先就“热更新UI框架”这个模块,进行详细讲解。欢迎感兴趣的小伙伴们留言。


参与人数 1鲜花 +5 收起 理由
Ra蹊 + 5 很给力!

查看全部评分总评分 : 鲜花 +5

回复

使用道具 举报

0

主题

3

帖子

7

积分

Rank: 1

UID
315736
好友
0
蛮牛币
7
威望
0
注册时间
2019-3-7
在线时间
5 小时
最后登录
2019-5-7
2019-4-25 09:56:44 显示全部楼层

回帖奖励 +5

学习学习
回复

使用道具 举报

2初来乍到
138/150
排名
28925
昨日变化
1

0

主题

46

帖子

138

积分

Rank: 2Rank: 2

UID
127902
好友
0
蛮牛币
18
威望
0
注册时间
2015-11-4
在线时间
80 小时
最后登录
2019-5-15
2019-4-25 10:56:34 显示全部楼层
学习学习
回复

使用道具 举报

2初来乍到
120/150
排名
17380
昨日变化
1

0

主题

39

帖子

120

积分

Rank: 2Rank: 2

UID
313936
好友
0
蛮牛币
55
威望
0
注册时间
2019-2-15
在线时间
43 小时
最后登录
2019-5-20
2019-4-25 11:33:53 显示全部楼层
期待接下来的内容
回复 支持 反对

使用道具 举报

9以坛为家
20396/50000
排名
463
昨日变化
1

236

主题

1万

帖子

2万

积分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
18
蛮牛币
38434
威望
0
注册时间
2015-3-11
在线时间
3284 小时
最后登录
2019-5-20
QQ
2019-4-25 11:39:03 显示全部楼层
刘老师,可以考虑出热更新的书了
回复 支持 反对

使用道具 举报

6蛮牛粉丝
1157/1500
排名
2299
昨日变化
1

1

主题

136

帖子

1157

积分

Rank: 6Rank: 6Rank: 6

UID
234403
好友
0
蛮牛币
2505
威望
0
注册时间
2017-7-26
在线时间
404 小时
最后登录
2019-5-20
2019-4-25 12:05:41 显示全部楼层
学习学习
回复

使用道具 举报

排名
34883
昨日变化
1

0

主题

10

帖子

58

积分

Rank: 2Rank: 2

UID
201582
好友
0
蛮牛币
107
威望
0
注册时间
2017-1-13
在线时间
40 小时
最后登录
2019-5-17
2019-4-25 13:39:41 显示全部楼层
学习一下
回复

使用道具 举报

4四处流浪
435/500
排名
7017
昨日变化
1

3

主题

91

帖子

435

积分

Rank: 4

UID
293049
好友
1
蛮牛币
1849
威望
0
注册时间
2018-8-9
在线时间
153 小时
最后登录
2019-5-20
2019-4-25 15:51:47 显示全部楼层
热更新必须要学!
回复

使用道具 举报

0

主题

15

帖子

20

积分

Rank: 1

UID
319364
好友
0
蛮牛币
3
威望
0
注册时间
2019-4-11
在线时间
5 小时
最后登录
2019-4-27
2019-4-25 16:31:25 显示全部楼层
不错,可以学习学习
回复 支持 反对

使用道具 举报

7日久生情
2017/5000
排名
1896
昨日变化
1

41

主题

739

帖子

2017

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
214924
好友
4
蛮牛币
18078
威望
0
注册时间
2017-3-28
在线时间
521 小时
最后登录
2019-5-19
2019-4-25 16:49:49 显示全部楼层
必须支持,一定好好学习
回复 支持 反对

使用道具 举报

5熟悉之中
618/1000
排名
4695
昨日变化
1

2

主题

88

帖子

618

积分

Rank: 5Rank: 5

UID
91826
好友
0
蛮牛币
821
威望
0
注册时间
2015-4-29
在线时间
216 小时
最后登录
2019-5-9
2019-4-25 17:44:19 显示全部楼层
必须支持,一定好好学习
回复 支持 反对

使用道具 举报

7日久生情
1512/5000
排名
1805
昨日变化
1

0

主题

422

帖子

1512

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
148517
好友
1
蛮牛币
38
威望
0
注册时间
2016-5-13
在线时间
354 小时
最后登录
2019-4-26
2019-4-26 00:55:34 显示全部楼层
看起来非常不错哦
回复 支持 反对

使用道具 举报

7日久生情
1739/5000
排名
4092
昨日变化
1

0

主题

1074

帖子

1739

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
254705
好友
1
蛮牛币
1617
威望
0
注册时间
2017-11-16
在线时间
303 小时
最后登录
2019-5-17
2019-4-26 08:06:03 显示全部楼层
6666666666666666666666666666666
回复 支持 反对

使用道具 举报

3偶尔光临
220/300
排名
10816
昨日变化
1

1

主题

23

帖子

220

积分

Rank: 3Rank: 3Rank: 3

UID
237668
好友
0
蛮牛币
8535
威望
0
注册时间
2017-8-15
在线时间
100 小时
最后登录
2019-5-20
2019-4-26 08:56:46 显示全部楼层
学习学习
回复

使用道具 举报

3偶尔光临
190/300
排名
13982
昨日变化
1

0

主题

24

帖子

190

积分

Rank: 3Rank: 3Rank: 3

UID
222120
好友
1
蛮牛币
296
威望
0
注册时间
2017-5-14
在线时间
106 小时
最后登录
2019-5-20
2019-4-26 09:22:24 显示全部楼层
11111111111111111111111111111111
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则