在《火拼24》系列教程的第四章中,我們將圍繞「微信小游戲CDN資源部署」展開(kāi)核心講解。本教程將詳細(xì)拆解游戲資源打包、CDN 平臺(tái)資源上傳等關(guān)鍵環(huán)節(jié),通過(guò)全流程實(shí)操指南,助你掌握微信小游戲上線前資源部署的完整流程,為游戲的流暢運(yùn)行和優(yōu)質(zhì)體驗(yàn)提供有力保障。
本教程內(nèi)容同時(shí)適配 Global Unity Editor、中國(guó)版 Unity Editor 及團(tuán)結(jié)引擎三大開(kāi)發(fā)環(huán)境。為兼顧不同開(kāi)發(fā)者的實(shí)際需求,后續(xù)講解將以團(tuán)結(jié)引擎與中國(guó)版 Unity 作為主要演示工具,分別針對(duì)這兩種環(huán)境,詳細(xì)拆解具體操作流程。
教程視頻
項(xiàng)目工程獲取與學(xué)習(xí)指引
1. 初始項(xiàng)目工程下載
倉(cāng)庫(kù)地址:
https://cnb.cool/unity/uos/Rush24Tutorial/-/tree/lesson4-start
分支名稱:lesson4-start 分支
分支說(shuō)明:請(qǐng)先下載 lesson4-start 分支的項(xiàng)目工程,該分支是本節(jié)學(xué)習(xí)的起點(diǎn)。
倉(cāng)庫(kù)地址:
https://cnb.cool/unity/uos/Rush24Tutorial/-/tree/lesson4-end
分支名稱:lesson4-end 分支
分支說(shuō)明:lesson4-end 分支包含本節(jié)所有功能的完整實(shí)現(xiàn)代碼,建議在學(xué)習(xí)完成后參考或用于調(diào)試對(duì)照。
![]()
3.將項(xiàng)目工程克隆到本地
可以在命令行窗口中直接輸入 Git 命令拉取項(xiàng)目工程到本地,也可以借助其它的可視化工具(如 Sourcetree)將倉(cāng)庫(kù)克隆到本地。
例如,輸入以下命令即可拉取名為 lesson4-start 的分支對(duì)應(yīng)的項(xiàng)目工程:git clone -b lesson4-start https://cnb.cool/unity/uos/Rush24Tutorial.git
![]()
教程學(xué)習(xí)大綱
1. 項(xiàng)目的準(zhǔn)備工作
2. 基于團(tuán)結(jié)引擎——構(gòu)建 MiniGame 項(xiàng)目,并上傳小游戲資源到 CDN
3. 基于中國(guó)版 Unity——構(gòu)建 MiniGame 項(xiàng)目,并上傳小游戲資源到 CDN
4. 在微信開(kāi)發(fā)者工具運(yùn)行測(cè)試
教程操作步驟
接下來(lái)我們要開(kāi)始本節(jié)課的學(xué)習(xí)啦!
1. 項(xiàng)目的準(zhǔn)備工作1.1 下載并打開(kāi)項(xiàng)目工程
請(qǐng)先通過(guò)上面提供的 git 倉(cāng)庫(kù)鏈接,下載初始狀態(tài)(lesson4-start 分支)的項(xiàng)目工程。然后打開(kāi)剛剛下載好的項(xiàng)目工程。
在教程中,大家可以使用團(tuán)結(jié)引擎或者 Unity 2022.3.42 f1c1版本來(lái)打開(kāi)你的項(xiàng)目工程,請(qǐng)大家自行選擇想要使用的版本來(lái)開(kāi)始你的學(xué)習(xí)。
使用團(tuán)結(jié)引擎 1.6.1 版本打開(kāi)項(xiàng)目工程:
![]()
使用 Unity 打開(kāi)項(xiàng)目工程:
![]()
不管是使用哪個(gè)編輯器打開(kāi)項(xiàng)目工程,都需要首先確保你的項(xiàng)目已經(jīng)綁定了前幾節(jié)教程中設(shè)置過(guò)的同一個(gè) UOS App。
![]()
1.2 開(kāi)通 CDN 服務(wù)
在 UOS Launcher 的下拉服務(wù)窗口列表中,找到「CDN」,點(diǎn)擊「Enable」開(kāi)啟服務(wù)。
![]()
然后點(diǎn)擊「Install SDK」,安裝 CDN SDK。
![]()
溫馨提醒:根據(jù)大家使用的引擎版本,是中國(guó)版 Unity 還是團(tuán)結(jié)引擎,構(gòu)建小游戲項(xiàng)目工程并上傳資源的步驟會(huì)有所不同的,我們給大家分別詳細(xì)講解一下。
如果你使用的是團(tuán)結(jié)引擎,可以參考模塊 2 的步驟,跳過(guò)模塊 3。
如果你使用的是中國(guó)版 Unity,可以參考模塊 3 的步驟,跳過(guò)模塊 2。
團(tuán)結(jié)引擎現(xiàn)已提供多平臺(tái)的一站式小游戲解決方案,已深度集成微信、抖音生態(tài)系統(tǒng),支持開(kāi)發(fā)者快速發(fā)布和更新。
接下來(lái)我們將講解如何使用團(tuán)結(jié)引擎構(gòu)建微信小游戲項(xiàng)目工程,并將資源上傳至 CDN。本次演示將使用團(tuán)結(jié)引擎 1.6.1 版本進(jìn)行操作,大家可以自行選擇電腦中已安裝的版本。
2.1 安裝 MiniGame 平臺(tái)支持模塊包
打開(kāi) Tuanjie Hub ,找到左側(cè)的「安裝」,選擇自己使用的團(tuán)結(jié)引擎的版本,比如現(xiàn)在使用的團(tuán)結(jié) 1.6.1,點(diǎn)擊「添加模塊」按鈕:
![]()
在彈出窗口中勾選「Mini Game Build Support」平臺(tái)模塊,然后點(diǎn)擊「安裝」。
![]()
2.2 將項(xiàng)目切換至 MiniGame 平臺(tái)
在 File → BuildSettings 頁(yè)面,選擇「MiniGame」,點(diǎn)擊「Switch Platform」按鈕,將項(xiàng)目工程切換到 MiniGame 平臺(tái)。 引擎首次切換到 MiniGame 平臺(tái)時(shí),所有子平臺(tái)的 package 會(huì)自動(dòng)安裝,請(qǐng)耐心等待安裝完成。
Sub Platforms指的是支持的小游戲平臺(tái),目前包括微信小游戲、抖音小游戲、快手小游戲和小游戲宿主,可在此選擇目標(biāo)發(fā)布平臺(tái)。默認(rèn)幫我們激活了微信小游戲平臺(tái),可以看到 Active 的標(biāo)識(shí),僅支持同時(shí)激活一個(gè)平臺(tái)。
![]()
2.3 添加構(gòu)建文件(Add Build Profile)
團(tuán)結(jié)引擎為小游戲提供了精細(xì)化的構(gòu)建設(shè)置和配置界面,大幅簡(jiǎn)化了構(gòu)建流程,提高開(kāi)發(fā)效率。
在「Sub Platforms」的「微信小游戲」這里,點(diǎn)擊「Add Build Profile」按鈕,會(huì)自動(dòng)在 Build Profiles 框內(nèi)生成一個(gè)微信平臺(tái)的構(gòu)建配置文件。
![]()
點(diǎn)擊 Build Profiles 框內(nèi)選中的配置文件(New WeChat Profile.asset),就可以在 Inspector 界面更改 Build 相關(guān)配置了,包括 Build 的路徑及其他設(shè)置等。
![]()
2.4 安裝 Project Instant Game 資源包
我們使用 AutoStreaming 自動(dòng)幫我們打包上傳資源,需要先安裝 Project Instant Game 資源包才能使用該功能。
打開(kāi) Window → Package Manager 窗口,在「Tuanjie Registry → Platform」這里,找到 Project Instant Game包,點(diǎn)擊「Install」進(jìn)行安裝。
![]()
2.5 配置 AutoStreaming
小游戲 AutoStreaming 功能默認(rèn)使用 UOS CDN 作為部署 Streaming 資源的云服務(wù)器,分離的資源將被托管至 UOS CDN 服務(wù)。
打開(kāi) Windows → Auto Streaming 進(jìn)入 Instant Game 窗口,該窗口包含了打包小游戲前的資源 Streaming 設(shè)置。
2.5.1 配置Cfg & Publish
首先在 UOS App 網(wǎng)頁(yè)端的「設(shè)置」這里,復(fù)制當(dāng)前 App 的 AppID 和 App Service Secret 信息。
![]()
然后在 Instant Game 窗口,切換至Cfg & Publish,并勾選Use AutoStreaming,然后來(lái)配置上傳云資源到 UOS CDN 的設(shè)置。
填寫(xiě)復(fù)制的 AppID 和 App Service Secret 信息。
在「Bucket to Use」這里,點(diǎn)擊「New」,自行輸入 Bucket 的名字、描述信息,可以創(chuàng)建一個(gè) Bucket,這里設(shè)置的名字為:TestRush24。
在「Badge to Use」這里,默認(rèn)使用了 UOS 提供的 latest 作為當(dāng)前的 Badge,大家也可以點(diǎn)擊「New」創(chuàng)建一個(gè)新的 Badge。每次上傳文件,latest 位置都會(huì)自動(dòng)更新,始終指向最新的資源版本。
如果界面上出現(xiàn)紅色的錯(cuò)誤的話,配置完以上信息后,可以點(diǎn)擊「Bucket to Use」最右側(cè)的「Refresh」按鈕來(lái)刷新頁(yè)面顯示。
![]()
回到 UOS 網(wǎng)頁(yè)端,可以看到創(chuàng)建的名為 TestRush24 的 Bucket 信息。
![]()
2.5.2 配置 TextureStreaming
接著來(lái)配置游戲內(nèi) Texture 是否使用 Streaming 功能,以及 Streaming Placeholder 的類型。
AutoStreaming 會(huì)用 Placeholder 縮略圖圖片替換游戲首包內(nèi)的原始貼圖,游戲運(yùn)行時(shí),先加載低分辨率/低信息量的貼圖,快速啟動(dòng)游戲。當(dāng)游戲首次使用到該 Texture 資源時(shí),將觸發(fā)引擎后臺(tái)線程從 UOS CDN 云端下載原始貼圖,完成后自動(dòng)替換為原始貼圖。
進(jìn)入 Window -> Auto Streaming -> Texture Streaming,首次打包操作流程如下:
先點(diǎn)擊Sync Textures,搜索 BuildSettings 中的 Scenes 引用到的所有 Texture 資源;
然后Ctrl + A選中所有圖片,再勾選OnDemandDownload;
點(diǎn)擊Generate AssetBundles,為所有勾選的 texture 生成 AB,每張貼圖一個(gè) AB;
點(diǎn)擊表頭按生成的 AB 大小排序,取消勾選AB 過(guò)小的圖片(例如小于 5KB,可按住 Shift 多選);
再次點(diǎn)擊Generate AssetBundles,清理不需要的 AB ;
最后點(diǎn)擊Generate Placeholders。
![]()
2.5.3 配置Audio/Animation Streaming
由于資源數(shù)據(jù)的抽取,發(fā)生在打包 AB 或小游戲時(shí),并且自動(dòng)生成,因此不需要像 Texture 一樣主動(dòng)點(diǎn)一次打包 AB。
使用流程:在對(duì)應(yīng)頁(yè)面點(diǎn)擊Sync Audios/Animations→ 勾選 RT Mem 較大(例如大于 5K)的資源。
![]()
![]()
2.5.4 配置Scene Streaming
Scene Streaming 依賴于 Texture/Audio/Animation Streaming 的配置,所以務(wù)必先執(zhí)行前面的操作,再繼續(xù)下面的步驟。
選擇 BuildSettings 中的場(chǎng)景打包成 AssetBundle ,并部署到 UOS CDN 服務(wù)器上。
使用流程:點(diǎn)擊Sync Scenes→ 選擇需要 Streaming 的場(chǎng)景,勾選OnDemandDownload→ 點(diǎn)擊Sync SharedAssets→ 勾選 SharedAssets 資源 → 如果已經(jīng)生成過(guò)場(chǎng)景 AB,勾選 Force Rebuild → 點(diǎn)擊左上角的GenerateABs。
溫馨提醒:
Scenes 列表中建議勾選除首場(chǎng)景外的其他所有場(chǎng)景,首場(chǎng)景開(kāi)啟 Streaming 后,啟動(dòng)時(shí)會(huì)有明顯的黑屏?xí)r間,因此不建議勾選。
![]()
2.6 配置 Graphics API
在Edit -> Project Settings -> Player -> Other Settings頁(yè)面,默認(rèn)的在 Graphics APIs 那里選擇的是 WebGL1,我們可以自己設(shè)置保留WebGL 1 或 WebGL 2 。這樣的話,可以減少 shader 變體數(shù)量,從而減小首包和啟動(dòng)時(shí)間。
當(dāng)使用 WebGL 1 時(shí), 若Lightmap Encoding為 High Quality ,會(huì)有警告信息,可將其改為Normal。
iOS 平臺(tái)上使用 WebGL 2.0,需要打開(kāi)iOS 高性能模式,否則可能出現(xiàn)進(jìn)入游戲后白屏的情況。
在這里,我們選擇使用 WebGL 2。
![]()
2.7 配置微信小游戲?qū)С鰠?shù)
選中創(chuàng)建好的 Build Profile(New WeChat Profile.asset),在 Inspector 面板填寫(xiě)相關(guān)構(gòu)建導(dǎo)出參數(shù)配置,如下面的截圖所示:
![]()
2.7.1 參數(shù)解析——游戲AppID 的獲取
可以直接從微信小游戲開(kāi)發(fā)工具里點(diǎn)擊 register 去申請(qǐng)正式 AppID。注冊(cè)過(guò)賬號(hào)以后,可以在「開(kāi)發(fā)管理」→「開(kāi)發(fā)設(shè)置」這里看到自己的 AppID 賬號(hào),復(fù)制一下 AppID 號(hào)填入 WeChat Settings 面板的參數(shù)中。
注冊(cè)鏈接:https://mp.weixin.qq.com/wxopen/waregister?action=step1
第一次注冊(cè)好的 AppID 賬號(hào),需要進(jìn)行設(shè)置下是用于「小程序開(kāi)發(fā)」還是「小游戲開(kāi)發(fā)」。
設(shè)置修改:登錄小程序頁(yè)面后,選擇「首頁(yè)」→「小程序發(fā)布流程」→「小程序類目」,然后點(diǎn)擊填寫(xiě)添加服務(wù)類目,選擇「游戲」類目,自行選擇一種游戲類型即可,在這里我設(shè)置的是「休閑游戲」類型。
![]()
![]()
2.7.2 參數(shù)解析——微信平臺(tái) Build Profile 面板的其它參數(shù)
Build Path:這里大家自行來(lái)設(shè)置生成的微信小游戲工程的位置。
游戲資源CDN:在 AutoStreaming 的 Cfg & Publish 界面,配置過(guò) UOS CDN 信息后,這里會(huì)自動(dòng)填充資源地址的。
小游戲項(xiàng)目名:自定義填寫(xiě)導(dǎo)出的微信小游戲項(xiàng)目名稱,這里先寫(xiě) Rush24。
游戲方向:選擇根據(jù)游戲畫(huà)面選擇豎屏還是橫屏,這里選擇橫屏 Landsape。
首包資源加載方式:選擇「CDN」。
顯示優(yōu)化建議彈窗:這里先不打勾,后面在微信開(kāi)發(fā)者工具中運(yùn)行測(cè)試項(xiàng)目時(shí),就暫時(shí)不讓它自動(dòng)彈出優(yōu)化提示的窗口。如果需要時(shí),可以再勾選。
溫馨提醒——對(duì)于較新版本的團(tuán)結(jié)引擎:當(dāng)微信小游戲平臺(tái)調(diào)用輸入框時(shí),引擎已內(nèi)置特殊處理邏輯,輸入框可自動(dòng)完成適配,開(kāi)發(fā)者無(wú)需額外操作。
最后,我們可以在 File → BuildSettings 頁(yè)面,Build Profiles 那里勾選(√)要使用的 WeChat Profile,點(diǎn)擊「Build」的按鈕,開(kāi)始構(gòu)建項(xiàng)目,等待構(gòu)建完成。
![]()
轉(zhuǎn)換成功后,在設(shè)置的小游戲?qū)С雎窂较碌奈募鐖D所示:
![]()
如果使用了 AutoStreaming,構(gòu)建完小游戲項(xiàng)目工程后,會(huì)自動(dòng)上傳首包數(shù)據(jù)文件到 UOS CDN 的。
打開(kāi) UOS App 網(wǎng)頁(yè)端的 Entries 頁(yè)面,可以看到文件已經(jīng)被自動(dòng)上傳了。
![]()
并且自動(dòng)創(chuàng)建了發(fā)布版本(Release)。
![]()
3.基于中國(guó)版 Unity——構(gòu)建 MiniGame 項(xiàng)目,并上傳小游戲資源到CDN
接下來(lái)我們講解下,如何使用 Unity 引擎發(fā)布成微信小游戲。由于不存在 MiniGame 平臺(tái),所以需要我們先安裝 WebGL 平臺(tái)支持模塊包和 WXSDK,然后再構(gòu)建小游戲項(xiàng)目工程。
3.1 安裝 WebGL 平臺(tái)支持模塊包,將項(xiàng)目切換至 WebGL 平臺(tái)
打開(kāi) Unity Hub ,找到左側(cè)的「安裝」,選擇自己使用的 Unity 編輯器版本,比如現(xiàn)在使用的 Unity 2022.3.42f1c1,點(diǎn)擊「添加模塊」按鈕:
![]()
在彈出窗口中勾選 WebGL Build Support 模塊,然后點(diǎn)擊「安裝」。
![]()
在項(xiàng)目中,找到 UOS Launcher 面板,勾選 Weixin Minigame 選項(xiàng),點(diǎn)擊彈窗中的按鈕「Switch to WebGL」。
勾選該選項(xiàng)后,會(huì)自動(dòng)添加小游戲需要的宏 UNITY_WEIXINMINIGAME 的。
![]()
然后打開(kāi)「File」→「Build Settings」窗口,可以看到勾選 Weixin Minigame 選項(xiàng)后,Platform 已經(jīng)自動(dòng)幫你切換至「WebGL」平臺(tái)了。貼圖的壓縮模式 Texture Compression:一般選擇「ASTC」。
![]()
3.2 安裝 WXSDK
在 Unity Editor 菜單欄,點(diǎn)擊「Window」→「Package Manager」,點(diǎn)擊左上角的「+」,選擇「Add package from git URL...」,輸入下方的 WXSDK 的倉(cāng)庫(kù) Git 資源地址,點(diǎn)擊「Add」即可。
https://gitee.com/wechat-minigame/minigame-tuanjie-transform-sdk.git
![]()
等待 WXSDK 安裝好以后,可以在「Package Manager」窗口中看到。
![]()
3.3Unity 引擎版本中微信輸入法適配的處理
根據(jù)微信官方關(guān)于輸入法適配的說(shuō)明(詳見(jiàn)相關(guān)鏈接):
https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/InputAdaptation.html
針對(duì)不同引擎的微信小游戲開(kāi)發(fā),輸入法適配規(guī)則如下:
對(duì)于較新版本的團(tuán)結(jié)引擎:當(dāng)微信小游戲平臺(tái)調(diào)用輸入框時(shí),引擎已內(nèi)置特殊處理邏輯,輸入框可自動(dòng)完成適配,開(kāi)發(fā)者無(wú)需額外操作。
對(duì)于 Unity 引擎開(kāi)發(fā)的小游戲:需開(kāi)發(fā)者自行處理微信輸入法的喚醒開(kāi)啟邏輯。
![]()
關(guān)于 Unity 引擎版本的《火拼24》,目前游戲內(nèi)各功能的微信輸入法適配情況如下:
手機(jī)號(hào)驗(yàn)證登錄與實(shí)名認(rèn)證的信息輸入:相關(guān)功能已集成于 PassportLogin SDK 中,SDK 已完成微信小游戲平臺(tái)的輸入法適配處理,因此在微信小游戲環(huán)境中可正常使用;
客戶端內(nèi)輸入角色昵稱功能:該功能使用的輸入框?yàn)?Unity 引擎原生的 InputField.cs 組件,需手動(dòng)處理微信小游戲平臺(tái)的輸入法適配邏輯。
處理適配輸入法的腳本:是位于 Utilities 文件夾下的 WXInputFieldAdapter.cs 腳本,可以看到該腳本已經(jīng)提前被掛載到了場(chǎng)景中的昵稱輸入框的 UI 對(duì)象「PersonaNameText」上;
該腳本是參考了微信官方示例腳本實(shí)現(xiàn),內(nèi)部已通過(guò)宏定義機(jī)制限定適配范圍,僅在「UNITY_WEIXINMINIGAME」宏定義啟用時(shí)生效(即僅針對(duì)微信小游戲平臺(tái))。
![]()
3.4設(shè)置 WXSDK 的參數(shù),并構(gòu)建小游戲項(xiàng)目工程
安裝好 WXSDK 后,現(xiàn)在開(kāi)始點(diǎn)擊菜單欄的按鈕「微信小游戲」→「轉(zhuǎn)換小游戲」按鈕。
![]()
然后設(shè)置微信小游戲轉(zhuǎn)換工具面板的參數(shù),如下面的截圖所示:
![]()
3.4.1 參數(shù)解析——如何獲取游戲資源 CDN 地址
在后續(xù)使用微信開(kāi)發(fā)者工具打開(kāi)小游戲工程時(shí),會(huì)加載這里填寫(xiě)的 CDN 地址來(lái)加載上傳的游戲資源。但是,還沒(méi)有構(gòu)建小游戲工程前,是獲取不到要上傳的資源的,這里的 CDN 地址應(yīng)該如何填寫(xiě)呢?
溫馨提醒:這個(gè)地址就算這里暫時(shí)為空不填寫(xiě),也都是沒(méi)關(guān)系的。因?yàn)樵谖⑿砰_(kāi)發(fā)者工具中還能修改游戲配置腳本中的CDN資源加載地址的。
獲取CDN地址方式一:
首先創(chuàng)建一個(gè) Bucket!在 CDN 頁(yè)面選擇「Bucket」,右上角點(diǎn)擊「創(chuàng)建 Bucket」按鈕。
![]()
在彈出的窗口中輸入創(chuàng)建的 Bucket 的名稱、描述信息,然后點(diǎn)擊「創(chuàng)建 Bucket」。
![]()
創(chuàng)建 Bucket 完成后的界面如下所示,后面等我們構(gòu)建完微信小游戲的項(xiàng)目工程后,再把小游戲的資源上傳到 CDN 已經(jīng)創(chuàng)建好的 Bucket 里面。
![]()
UOS CDN 支持根據(jù) Release ID 或者根據(jù) Badge兩種方式來(lái)獲取托管的資源,在這里我們暫時(shí)使用根據(jù) Badge的方式。
使用 Badge 的方式,在路徑模式下,CDN 的地址格式是固定的,如下所示,只要自己替換對(duì)應(yīng)的 bucketId 和 badgeName 就可以:
https://a.unity.cn/client_api/v1/buckets/{bucketId}/release_by_badge/{badgeName}/content/
可以從網(wǎng)頁(yè)端這里獲取到創(chuàng)建的bucketId ;
![]()
默認(rèn)情況下會(huì)將自動(dòng)生成的名為 latest 的 Badge 分配給最新發(fā)布版本,這里我們暫時(shí)不創(chuàng)建新的 badge,就使用默認(rèn)的 latest 作為 Badge 名字;
所以這里填寫(xiě)的 CDN 地址的格式為如下截圖所示:
![]()
獲取CDN地址方式二:
再給大家介紹下第二種方式可以快速獲取到 CDN 地址!
創(chuàng)建發(fā)布版本時(shí),系統(tǒng)會(huì)捕獲存儲(chǔ)桶中所有條目的當(dāng)前狀態(tài),這一過(guò)程類似于版本控制機(jī)制。即便我們尚未向存儲(chǔ)桶上傳任何資源,也可以先發(fā)布一個(gè)空版本,從而提前獲取待上傳資源在存儲(chǔ)桶中的CDN地址。
在「Releases」頁(yè)面,點(diǎn)擊「立即創(chuàng)建」按鈕:
![]()
在「創(chuàng)建 Release #1」彈窗中輸入此發(fā)布版本的描述內(nèi)容,然后單擊「創(chuàng)建」即可。
![]()
在已創(chuàng)建的發(fā)布版本 Release#1 中可以看到,默認(rèn)情況下系統(tǒng)會(huì)自動(dòng)生成一個(gè)名為 latest 的標(biāo)識(shí),并將其分配給最新版本的發(fā)布記錄。當(dāng)然,你也可以手動(dòng)創(chuàng)建新的 Badge(標(biāo)識(shí)),不過(guò)這里我們直接使用默認(rèn)生成的 latest 即可。
點(diǎn)擊「復(fù)制 Entry URL 前綴(路徑模式)」后,會(huì)發(fā)現(xiàn)得到的路徑與此前方式一中手動(dòng)拼接的 CDN 地址完全一致。
此外,若使用 latest 這個(gè) Badge 名稱,后續(xù)即使發(fā)布新版本,該地址也會(huì)保持固定不變——當(dāng)前 Release#1 版本對(duì)應(yīng)的資源雖為空,但地址不會(huì)因版本更新而改變。
https://a.unity.cn/client_api/v1/buckets/abe83d83-d7a3-4eda-8c89-25f08874624f/release_by_badge/latest/content/
![]()
3.4.2 參數(shù)解析——微信小游戲轉(zhuǎn)換工具面板的其它參數(shù)
微信小游戲轉(zhuǎn)換工具面板的其它參數(shù)可以設(shè)置為:
游戲 AppID:獲取游戲 AppID 的方式,可以參考上面的 2.7.1 節(jié)的步驟。
小游戲項(xiàng)目名:自定義填寫(xiě)導(dǎo)出的微信小游戲項(xiàng)目名稱,這里先寫(xiě) Rush24。
游戲方向:選擇根據(jù)游戲畫(huà)面選擇豎屏還是橫屏,這里選擇橫屏 Landsape。
導(dǎo)出路徑:這里大家自行來(lái)設(shè)置生成微信小游戲工程的位置。
首包資源加載方式:選擇「CDN」。
WebGL2.0(beta):這里參數(shù)打勾。
顯示優(yōu)化建議彈窗:這里先不打勾,后面在微信開(kāi)發(fā)者工具中運(yùn)行測(cè)試項(xiàng)目時(shí),就暫時(shí)不讓它自動(dòng)彈出優(yōu)化提示的窗口。如果需要時(shí),可以再勾選。
最后,點(diǎn)擊「生成并轉(zhuǎn)換」的按鈕,開(kāi)始打包項(xiàng)目:
![]()
等到轉(zhuǎn)換成功后,會(huì)看到小游戲?qū)С雎窂较碌奈募鐖D所示:
![]()
在 minigame 文件夾下的 game.js 腳本中,存放著此前填寫(xiě)的 CDN 地址。若后續(xù)需要更換該地址,可直接修改此處內(nèi)容。
![]()
3.5 上傳小游戲資源到 CDN
接下來(lái),我們將把小游戲資源上傳至 CDN 已創(chuàng)建的存儲(chǔ)桶中,支持多種操作方式,大家可根據(jù)需求選擇其中一種即可。
3.5.1 方式一:UOS 網(wǎng)頁(yè)端手動(dòng)添加文件至 Bucket
此方式支持在網(wǎng)頁(yè)端通過(guò)拖拽操作,直接將文件上傳至已創(chuàng)建的 Bucket 中。
在「CDN→ Bucket → Entries」頁(yè)面,點(diǎn)擊「立即上傳」按鈕:
![]()
在彈出的窗口中,將小游戲導(dǎo)出路徑下 webgl 文件夾內(nèi)的文件全部選中,拖拽至虛線框中,然后點(diǎn)擊「全部上傳」按鈕。
![]()
等待上傳完成后,頁(yè)面上可以看到已經(jīng)上傳的 27 個(gè)文件信息:
![]()
資源上傳完成后,點(diǎn)擊「創(chuàng)建新的發(fā)布版本(Release)」:
![]()
再次填寫(xiě)當(dāng)前 Release#2 版本的描述信息,并點(diǎn)擊「創(chuàng)建」按鈕:
![]()
可以看到名為 latest 的 Badge 自動(dòng)分配給最新發(fā)布版本 #2 了。
![]()
3.5.2 方式二:使用 CDN Package 工具上傳資源至 Bucket
此方式通過(guò) CDN Package 工具,可便捷地將資源上傳至已創(chuàng)建的 Bucket 中。
點(diǎn)擊編輯器菜單欄上方的按鈕「UOS →CDN→ Manager」,可以打開(kāi) CDN 的操作窗口如下所示,可以通過(guò)這個(gè)窗口來(lái)創(chuàng)建 Bucket、上傳資源、創(chuàng)建 Release 和 Badge。
![]()
我們接下來(lái)給大家講解下,如何通過(guò)CDNPackage 窗口來(lái)操作!
我們?cè)?Bucket 一欄,直接點(diǎn)擊 New 按鈕來(lái)創(chuàng)建一個(gè)新的 Bucket 來(lái)演示。
![]()
創(chuàng)建好之后界面如下:
![]()
在 Release 一欄,點(diǎn)擊「New」來(lái)發(fā)布一個(gè)空資源的 Release#1 版本。
![]()
在 Badge 一欄,點(diǎn)擊「Load」會(huì)自動(dòng)加載系統(tǒng)默認(rèn)分配的名為 latest 的 Badge。而且還可以在最下方看到 LoadUrl(Badge),默認(rèn)幫我們填充好了使用 Badge 模式下對(duì)應(yīng)的 CDN 資源地址。
![]()
在 Entry 一欄,可以直接上傳需要的資源文件到 CDN 的 Bucket 里面。
點(diǎn)擊「Choose」,自行選擇你的小游戲?qū)С雎窂较碌?webgl 文件夾;
然后點(diǎn)擊「Sync」,在彈出小窗口中選擇「Yes」,則會(huì)把選中路徑下的文件同步上傳至選中的 Bucket 里面。
![]()
上傳完成后,在 Console 控制臺(tái)可以看到相關(guān)的日志信息。
![]()
最后上傳完資源后,也是要記得點(diǎn)擊創(chuàng)建發(fā)布版本 Release#2 哦!在 Badge 那里,可以點(diǎn)擊下「Update」按鈕,就可以看到當(dāng)前的 latest 已經(jīng)自動(dòng)指向了 Release#2。
![]()
4.在微信開(kāi)發(fā)者工具運(yùn)行測(cè)試4.1 下載微信開(kāi)發(fā)者工具
如果你還沒(méi)有下載過(guò)微信開(kāi)發(fā)者工具的話,可以前往微信官方網(wǎng)站進(jìn)行下載微信開(kāi)發(fā)者工具, 并安裝到本地電腦上。
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
![]()
4.2 在微信開(kāi)發(fā)者工具中導(dǎo)入小游戲項(xiàng)目
打開(kāi)安裝好的微信開(kāi)發(fā)者工具,選擇「小游戲」類型,導(dǎo)入你的項(xiàng)目。「目錄」這里選擇之前在 WXSDK 的參數(shù)面板中設(shè)置的導(dǎo)出路徑文件夾。
注意不要選錯(cuò)了目錄哦!路徑一定要選擇到 minigame 路徑文件夾!!!
![]()
當(dāng)選擇完目錄以后,會(huì)自動(dòng)加載填入你在 Unity 編輯器內(nèi)設(shè)置的導(dǎo)出的小游戲項(xiàng)目名稱的,不需要自己填寫(xiě)。然后選擇你的 AppID,最后點(diǎn)擊「確定」按鈕即可。
![]()
接著可以在微信開(kāi)發(fā)者工具中,運(yùn)行項(xiàng)目測(cè)試了。
![]()
4.3 設(shè)置域名
如果此時(shí),想要在手機(jī)上掃描二維碼進(jìn)行真機(jī)預(yù)覽小游戲效果的話,還需要進(jìn)行相關(guān)域名的設(shè)置。
4.3.1 開(kāi)啟域名校驗(yàn)
如果大家想知道自己缺少的域名,可以在微信開(kāi)發(fā)者工具里強(qiáng)制開(kāi)啟白名單調(diào)試:
在「詳情->本地設(shè)置」這里,取消勾選 ”不校驗(yàn)合法域名、網(wǎng)絡(luò)視圖(業(yè)務(wù)域名)、tls版本以及https證書(shū)“(默認(rèn)是勾選狀態(tài),表示默認(rèn)不進(jìn)行校驗(yàn)域名)。
![]()
可以進(jìn)入 UOS 官網(wǎng),在網(wǎng)頁(yè)上的 QA 的「4 .小程序/小游戲需要用到的域名白名單」這里,找到項(xiàng)目中使用到的 Passport、Remote Config、Save、CDN 服務(wù)對(duì)應(yīng)的域名,然后復(fù)制域名。
https://uos.unity.cn/doc/others/qa#4
![]()
4.3.2 基于中國(guó)版 Unity,配置域名白名單
登錄微信小程序頁(yè)面,然后點(diǎn)擊前往「開(kāi)發(fā)管理」->「開(kāi)發(fā)設(shè)置」 ->「服務(wù)器域名」->「開(kāi)始配置」,配置域名。
如果使用的是中國(guó)版 Unity 的話,只需要配置「request 合法域名」即可。
https://a.unity.cn;https://a.unity3dcloud.cn;https://a2.unity3dcloud.cn;https://a3.unity3dcloud.cn;https://c.unity.cn;https://p.unity.cn;https://save.unity.cn;https://uos-save-bluecloud-1301389817.cos.ap-shanghai.myqcloud.com;
![]()
4.3.3 基于團(tuán)結(jié)引擎,使用了 AutoStreaming,配置域名白名單
大家可以前往下面鏈接,在「團(tuán)結(jié)引擎文檔手冊(cè)」的
「部署微信小游戲」模塊,查看有關(guān)域名白名單的說(shuō)明哦!
https://docs.unity.cn/cn/tuanjiemanual/Manual/UploadWeixinMiniGame.html
![]()
需要同時(shí)配置「request 合法域名」和「downloadFile合法域名」,由于在團(tuán)結(jié)引擎中使用了 AutoStreaming,所以還需要添加下 AutoStreaming 使用到的域名:https://asset-streaming-content.unity.cn;
配置「request 合法域名」:
https://a.unity.cn;https://a.unity3dcloud.cn;https://a2.unity3dcloud.cn;https://a3.unity3dcloud.cn;https://c.unity.cn;https://p.unity.cn;https://save.unity.cn;https://uos-save-bluecloud-1301389817.cos.ap-shanghai.myqcloud.com;https://asset-streaming-content.unity.cn;
配置「downloadFile 合法域名」:
https://a.unity.cn;https://a.unity3dcloud.cn;https://a2.unity3dcloud.cn;https://a3.unity3dcloud.cn;https://asset-streaming-content.unity.cn;
![]()
下節(jié)教程預(yù)告
教程主題——《火拼24》系列教程五:實(shí)現(xiàn)微信賬號(hào)的一鍵快捷登錄
《火拼24》系列教程的下一篇教程,我們將聚焦登錄功能的深度優(yōu)化——手把手教你將微信平臺(tái)上的傳統(tǒng)手機(jī)號(hào)驗(yàn)證碼登錄的方式,全面升級(jí)為“微信賬號(hào)一鍵登錄”!想解鎖微信生態(tài)下的快捷登錄秘籍?下一篇教程見(jiàn)哦!
小貼士:為方便大家提前學(xué)習(xí),教程第五章節(jié)的分支代碼已同步更新,可提前下載查閱或本地調(diào)試。
教程五:初始項(xiàng)目工程(供學(xué)習(xí)參考)
https://cnb.cool/unity/uos/Rush24Tutorial/-/tree/lesson5-start
教程五:完整示例工程參考(可直接運(yùn)行)
https://cnb.cool/unity/uos/Rush24Tutorial/-/tree/lesson5-end
記得鎖定更新,別錯(cuò)過(guò)每一步關(guān)鍵指南!
Unity Online Services (UOS) 是一個(gè)專為游戲開(kāi)發(fā)者設(shè)計(jì)的一站式游戲云服務(wù)平臺(tái),提供覆蓋游戲全生命周期的開(kāi)發(fā)、運(yùn)營(yíng)和推廣支持。
了解更多 UOS 相關(guān)信息:
官網(wǎng):https://uos.unity.cn
技術(shù)交流 QQ 群:823878269
Unity 官方微信
第一時(shí)間了解Unity引擎動(dòng)向,學(xué)習(xí)進(jìn)階開(kāi)發(fā)技能
每一個(gè)“點(diǎn)贊”、“在看”,都是我們前進(jìn)的動(dòng)力

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.