版權申明:
- 本文為“優夢創客”原創文章,您可以自由轉載,但必須加入完整的版權聲明
- 更多學習資源請加QQ:1517069595獲取(企業級性能優化/熱更新/Shader特效/服務器/商業項目實戰/每周直播/一對一指導)
為什么游戲需要熱更新?
簡單來說就是為了繞過手機操作系統的安全驗證。
因為如果手機操作系統允許我們隨意從網絡上下載並更新我們安裝好的APP,那么一些不良的游戲開發者就有可能在更新的程序中植入后台或者木馬程序來竊取用戶的數據,甚至破壞手機系統,從而達到一些不可告人的目的。
但是手機操作系統的這一做法是一柄雙刃劍,他雖然防止了手機APP受病毒木馬的影響,但是也限制了APP的正常更新
讓我們先來看一來受到限制以后,游戲APP的更新流程。
什么是游戲熱更新:無熱更的游戲更新流程
當你在軟件商店選擇好一款游戲,點擊下載,就把這款游戲下載到你的手機上了。
當你需要更新游戲時,通常在手機游戲的啟動畫面會彈出一個更新按鈕,點擊后會幫你跳轉到軟件市場重新下載完整的游戲包體
這樣,如果是一個像王者榮耀這樣1個G以上包體大小的游戲,每次我們都需要花同樣的時間,再下載一次完整游戲
而不管這個游戲是否只是更新了一個微小的功能或美術資源
什么是游戲熱更新:有熱更的游戲更新流程
而支持游戲熱更新的更新流程就完全不同了
首先你不需要在收到更新通知時跳轉到軟件商店進行下載,點擊確認更新后,會自動在游戲內進行更新包的下載,
其次你要下載的更新包,只是更新的那部分內容,比如說一個游戲只是在下一個版本更新了一個皮膚、道具或者增加了一個新的功能系統,通常這種更新包的大小不會很大,假如說更新包只有幾兆,那么你只需要下載這幾兆資源即可
對於玩家來說,下載的等待時間和流量消耗都極大的減少,對於提升玩家體驗、提升玩家留存是很有幫助的
那么究竟一款支持熱更新的游戲,它內部的更新流程和機制是什么樣的呢?
我們來看一下
首先在我們第一次要游玩這個游戲的時候,我們還是會從游戲市場下載這個游戲。
接着隨着游戲運營的進程發展。游戲公司的策划決定加入一個新玩法修改現有的玩法,或者修改游戲內的數值平衡。
此時我們的開發者就需要根據策划的需求去制作游戲更新。
並且將更新好的內容打包上傳到游戲更新服務器。
接着在我們的玩家下一次進入游戲時,游戲的客戶端會自動到服務器去檢查有無游戲。內容更新。
如果有則會從服務器下載更新包。
在客戶端將更新包下載到本地以后,客戶端自動釋放壓縮的更新包,並且把舊的游戲內容替換成新的更新包內的內容,這樣就完成了游戲的版本更新。
更新包長什么樣?
那么更新包究竟長什么樣呢?
首先我們可以把游戲內的資源分成美術資源和程序資源。
通常美術資源是可以直接熱更新的,而程序資源呢就有點麻煩了。
因為程序資源可以是任意一段可以執行的程序代碼,大家想象一下,如果在一個游戲通過審核以后,在下一個版本中植入了一些竊取用戶隱私或者有可能造成系統不穩定的功能,那么對於對於用戶來說是很不安全的。
所以在蘋果的IOS系系統中已經完全的禁止了程序在運行時加載新代碼的功能。
而安卓系統沒有完全禁止這種功能,安卓APP仍然能夠執行任何一段熱加載的程序代碼。
那么,我們的手機游戲如何應付IOS系統的禁止熱更新從而提升玩家的游戲更新體驗呢?
這就需要我們繞過系統限制,那么如何繞過呢?我們會在后續給大家揭曉,歡迎大家點贊、收藏、分享,並在評論區討論你認為可行的解決方案~
更多學習資源請加QQ:1517069595獲取(/企業級性能優化/熱更新/Shader特效/服務器/商業項目實戰/每周直播/一對一指導)
完整視頻可以點擊B站鏈接:https://www.bilibili.com/video/BV16v411J7Uq