1. 程式人生 > >Unity熱更新概念

Unity熱更新概念

unity熱更新

什麽是熱更新呢?首先需要了解移動程序的發布流程:將程序進行打包成相應平臺的程序包,就拿Appsrote平臺來說,需要將程序打包成xcarchive,打包好後,上傳蘋果商店,上傳之後,蘋果商店需要進行審核(審核的時間一般是一周左右),審核通過之後,玩家才可以下載最新的程序,下載時需要下載整個程序包,然後再安裝最新程序包,安裝好後,才可以運行最新遊戲。下圖是程序更新流程圖。

技術分享


因此如果將資源和程序打包時放到程序包裏,只要對資源和程序進行修改,就需要重新打包上傳,提交,審核,下載,安裝,非常的麻煩,因此需要一種方案來上述問題。以下的這種方案就是解決更新的問題。首先有一個程序基礎包,在上傳平臺之後就不用對其代碼和資源進行修改。然後將以後每次修改的資源放到資源服務器。當程序啟動時,從資源服務器獲取最新的資源。具體流程是:

1.將資源打包成AssetBundle,並將打包的資源文件的MD5保存到一個文件裏,並定義此次更新的版本號xx.xx.xxx

2.將資源提交到資源服務器

3.客戶端啟動,從資源服務器取得版本號ver1,然後再讀取本地資源的版本號ver2,比較ver1ver2

,如果ver1ver2相等,直接進入遊戲,否則從服務器下載MD5文件列表,然後讀取本地的MD5文件列表,然後對比兩個文件,找到MD5改變的文件。

3.下載MD5文件改變的資源

4.更新本地版本配置文件

5. 進入遊戲

這就是所謂的熱更新,是指當我們在程序啟動時,自動更新資源和程序,繞過平臺的審核,這樣更新程序和資源就非常方便。


QQ347925343

Unity熱更新視頻教程:http://edu.51cto.com/course/10541.html




Unity熱更新概念