爲了更好的提高微信小遊戲的打開速度,提升用戶體驗,微信正式發佈了引擎插件功能,白鷺引擎第一時間支持並正式發佈支持該功能的5.2.31版本。如下是白鷺引擎插件使用的詳細說明文檔及常見問題解答,請諸位開發者小夥伴仔細閱讀。json
什麼是引擎插件服務器
咱們發佈微信小遊戲的時候,裏面會帶有egret.min.js、eui.min.js之類的庫文件,玩家每次打開一個小遊戲,都要重複的下載這些文件。如今咱們把白鷺引擎作成了微信的插件, 5.2.x系列的全部版本都上傳到了微信服務器上,開發者只要在項目裏進行配置,就可使用遠端的插件,不使用本地的引擎文件。微信
這樣的好處是,若是一個玩家玩了A遊戲,裏面使用了5.2.20版本的引擎插件。而後他又玩了B遊戲,若是B遊戲的引擎插件版本和A遊戲一致,那麼這個插件就不須要從新下載。這樣就能夠提升遊戲的打開速度,得到更好的用戶體驗。微信開發
白鷺引擎插件使用和調試環境工具
一、白鷺引擎5.2.31 版本;二、微信開發者工具調試Nightly版本(>=1.02.1910252);注意:正式版還不支持插件功能;三、在Android微信和iOS微信的7.0.7版本(>=7.0.7),可直接體驗和測試插件分離功能。使用了插件分離的小遊戲,在console日誌中會輸出:plugin ***** inject success/fail!;四、因爲微信開發者工具的bug,使用測試版的 APPID 在開啓插件功能時會報錯,必須使用在微信後臺註冊過的正式版 APPID 才能夠。五、目前一個APPID,只支持引用一個插件;六、目前支持整包小遊戲使用插件,以及分包小遊戲的主包使用插件。測試
白鷺引擎插件使用方法ui
一、在Egret Launcher裏下載引擎5.2.31版本,使用該版本建立一個遊戲項目;二、打開項目中的scripts/config.wxgame.ts文件,將useWxPlugin變量改成true;spa
三、在發佈成微信小遊戲release版本後(egret publisb --target wxgame),會開啓插件功能。debug調試版(egret build --target wxgame)不支持該功能。插件
老項目升級:debug
在老項目中執行 egret upgrade --egretversion 5.2.31 後會把項目升級成支持插件的版本。
使用其餘版本的引擎:
若是您的項目不想使用最新的5.2.31版本,要使用其餘版本,例如5.2.16之類的引擎,那麼能夠作以下操做:
一、使用最新版引擎5.2.31建立一個新項目,把這 3 個文件拷貝到老項目裏替換原有文件;
注意:其中的wxgame.ts裏會對js文件作必定的修改,必定要使用咱們提供的方法,不要對這塊作任何的修改。由於微信會對js文件作MD5校驗,任何修改都會改變MD5值。
二、在老項目根目錄的egretProperties.json裏,把compilerVersion編譯器版本改爲 5.2.31。好比在本示例中,引擎代碼仍是5.2.16的,可是編譯腳本使用引擎5.2.31,這樣就能支持把遊戲發佈成開啓微信插件的形式了。
使用引擎插件的微信小遊戲項目結構說明
一、在以前的微信小遊戲項目裏,咱們會把全部的引擎文件和遊戲邏輯文件都放在js文件夾內;
二、在新的項目結構裏,增長了一個egret-library文件夾:
三、微信開發者工具打包上傳的時候,會自動生成兩個包:
FAQ
問:引擎插件裏都包含哪些庫?
答:包含白鷺引擎官方提供的 7 個庫,注意:只包含發佈版的 xx.min.js, 不包含調試版的xx.js。具體的文件列表以下:
問:若是爲了讓包體小一些,不考慮兼容老版本微信的玩家,只使用遠程插件裏的引擎。是否能夠不在小遊戲項目裏放一份引擎,這樣能夠嗎?
答:理論上是能夠的,可是微信官方不建議這麼作。另外若是使用引擎插件功能,包的總大小會算上線上插件裏的引擎代碼,因此您本身衡量是否值得。
問:我對引擎作了修改,還可使用遠程插件嗎?
答:不能作任何修改,並且必須用官方提供的編譯配置文件 script/wxgame/wxgame.ts裏的默認參數發佈 。由於微信會校驗本地和插件裏 js 文件的 MD5 值,只要作了任何一點修改, MD5 值就會不一致,那麼微信會調用本地的這個 js 版本,不會使用遠程插件裏的。
以上就是本次5.2.31更新所有內容,歡迎各位開發者更新體驗最新的引擎插件功能。