香港6合总彩透码主论坛
 找回密碼
 注冊帳號

掃一掃,訪問微社區

劉國柱 客戶端熱更新框架之UI熱更框架設計(上)

37
回復
3510
查看
打印 上一主題 下一主題
[ 復制鏈接 ]

23

主題

109

帖子

932

積分

Rank: 9Rank: 9Rank: 9

UID
34511
好友
49
蠻牛幣
1435
威望
0
注冊時間
2014-7-15
在線時間
492 小時
最后登錄
2020-2-12

專欄作家

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

您需要 登錄 才可以下載或查看,沒有帳號?注冊帳號

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里,從而實現代碼熱更新。

為什么需要帶熱更新的框架?
       在中大型商業項目中,基于以上熱更新的實際運營需求,國內外各大游戲公司紛紛基于國內已知技術與成熟插件,由技術總監或者主程來牽頭研發自己公司的熱更新框架。

筆者開發的熱更新簡單框架介紹:
         筆者基于自身技術儲備參考部分行業公司框架產品,設計了一套簡單熱更新客戶端框架,現介紹如下,希望以此起到拋磚引玉的作用,結交行業朋友。



熱更新框架總體構成:
     客戶端熱更框架,核心主要設計為以下幾個模塊:
     A:    熱更新UI框架模塊。
     B:  lua框架(包含熱補丁模塊)。
             lua框架由“純lua框架”與“C#映射lua”等技術構成。可以實現在lua腳本中,定義unity的生命周期(eg:  Start()、Update() 等),方便lua的編寫與功能擴展。
             業務邏輯方面,固定業務不需要頻繁修改的功能,筆者還是堅持用C#完成。 有頻繁更新需求的則用基于lua框架來編寫。基于本套lua框架,其比純lua編寫效率高很多。
     C:  服務器端熱更新流程模塊。
     D:  基礎支持插件與框架: xlua插件與AB(AssetBundle)框架。



熱更新框架運行過程:
        整體熱更框架的運行流程如下:
       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:  場景資源加載。




最后由于篇幅所限,筆者先寫到這。下一篇本人會先就“熱更新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

學習學習
回復

使用道具 舉報

3偶爾光臨
150/300
排名
26988
昨日變化

0

主題

51

帖子

150

積分

Rank: 3Rank: 3Rank: 3

UID
127902
好友
0
蠻牛幣
21
威望
0
注冊時間
2015-11-4
在線時間
85 小時
最后登錄
2019-11-13
板凳
2019-4-25 10:56:34 只看該作者
學習學習
回復

使用道具 舉報

2初來乍到
139/150
排名
17383
昨日變化

0

主題

45

帖子

139

積分

Rank: 2Rank: 2

UID
313936
好友
0
蠻牛幣
86
威望
0
注冊時間
2019-2-15
在線時間
56 小時
最后登錄
2019-10-9
地板
2019-4-25 11:33:53 只看該作者
期待接下來的內容
回復 支持 反對

使用道具 舉報

9以壇為家
20413/50000
排名
464
昨日變化

236

主題

1萬

帖子

2萬

積分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
19
蠻牛幣
40804
威望
0
注冊時間
2015-3-11
在線時間
3318 小時
最后登錄
2020-1-2
QQ
5#
2019-4-25 11:39:03 只看該作者
劉老師,可以考慮出熱更新的書了
回復 支持 反對

使用道具 舉報

6蠻牛粉絲
1274/1500
排名
2299
昨日變化

1

主題

179

帖子

1274

積分

Rank: 6Rank: 6Rank: 6

UID
234403
好友
0
蠻牛幣
2826
威望
0
注冊時間
2017-7-26
在線時間
478 小時
最后登錄
2020-2-12
6#
2019-4-25 12:05:41 只看該作者
學習學習
回復

使用道具 舉報

2初來乍到
104/150
排名
34890
昨日變化

0

主題

17

帖子

104

積分

Rank: 2Rank: 2

UID
201582
好友
0
蠻牛幣
146
威望
0
注冊時間
2017-1-13
在線時間
79 小時
最后登錄
2020-2-15
7#
2019-4-25 13:39:41 只看該作者
學習一下
回復

使用道具 舉報

5熟悉之中
639/1000
排名
7021
昨日變化

3

主題

158

帖子

639

積分

Rank: 5Rank: 5

UID
293049
好友
2
蠻牛幣
2665
威望
0
注冊時間
2018-8-9
在線時間
290 小時
最后登錄
2020-2-18
8#
2019-4-25 15:51:47 只看該作者
熱更新必須要學!
回復

使用道具 舉報

0

主題

15

帖子

20

積分

Rank: 1

UID
319364
好友
0
蠻牛幣
3
威望
0
注冊時間
2019-4-11
在線時間
5 小時
最后登錄
2019-4-27
9#
2019-4-25 16:31:25 只看該作者
不錯,可以學習學習
回復 支持 反對

使用道具 舉報

7日久生情
2291/5000
排名
1896
昨日變化

65

主題

825

帖子

2291

積分

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

UID
214924
好友
8
蠻牛幣
25980
威望
0
注冊時間
2017-3-28
在線時間
685 小時
最后登錄
2020-2-9
10#
2019-4-25 16:49:49 只看該作者
必須支持,一定好好學習
回復 支持 反對

使用道具 舉報

5熟悉之中
623/1000
排名
4698
昨日變化

2

主題

89

帖子

623

積分

Rank: 5Rank: 5

UID
91826
好友
0
蠻牛幣
782
威望
0
注冊時間
2015-4-29
在線時間
220 小時
最后登錄
2020-1-13
11#
2019-4-25 17:44:19 只看該作者
必須支持,一定好好學習
回復 支持 反對

使用道具 舉報

7日久生情
1542/5000
排名
1806
昨日變化

0

主題

437

帖子

1542

積分

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

UID
148517
好友
1
蠻牛幣
48
威望
0
注冊時間
2016-5-13
在線時間
369 小時
最后登錄
2020-2-11
12#
2019-4-26 00:55:34 只看該作者
看起來非常不錯哦
回復 支持 反對

使用道具 舉報

7日久生情
2683/5000
排名
4094
昨日變化

0

主題

1880

帖子

2683

積分

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

UID
254705
好友
1
蠻牛幣
2407
威望
0
注冊時間
2017-11-16
在線時間
441 小時
最后登錄
2020-2-21
13#
2019-4-26 08:06:03 只看該作者
6666666666666666666666666666666
回復 支持 反對

使用道具 舉報

4四處流浪
307/500
排名
10820
昨日變化

3

主題

33

帖子

307

積分

Rank: 4

UID
237668
好友
0
蠻牛幣
9805
威望
0
注冊時間
2017-8-15
在線時間
175 小時
最后登錄
2020-1-17
14#
2019-4-26 08:56:46 只看該作者
學習學習
回復

使用道具 舉報

4四處流浪
349/500
排名
13986
昨日變化

0

主題

42

帖子

349

積分

Rank: 4

UID
222120
好友
1
蠻牛幣
826
威望
0
注冊時間
2017-5-14
在線時間
247 小時
最后登錄
2020-2-21
15#
2019-4-26 09:22:24 只看該作者
11111111111111111111111111111111
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊帳號

本版積分規則

香港6合总彩透码主论坛
足彩合买源码 内蒙古时时彩开奖结果 河源百搭麻将外挂 幸运赛车计划 江苏十一选五走势图经彩网 京城国际娱乐城 江苏快3今天走势图下载 悠悠卡五星麻将必胜绝技 35选7一等奖多钱 波克棋牌下载新版