科技

使用 Unity 引擎打造免安裝遊戲

自從免安裝遊戲 (Google Play Instant) 於 2018 年 3 月首次釋出以來,遊戲開發者已經能夠在創造精彩的體驗之上,讓玩家得以即刻沉浸在遊戲中而不需要漫長的完整安裝過程。玩家們也可以通過多種方式發現和訪問免安裝遊戲,從 Google Play 中的 "立即體驗" 按鈕,到一條簡單的網路連結,開發者們現在可以更輕鬆地吸引新玩家,並立即向他們展示自己的遊戲。在這篇文章中,我們將向您展示如何使用 Unity 從頭開始構建生產環境級別的免安裝遊戲,並會列舉出免安裝遊戲為您帶來的一些優勢。

採用免安裝遊戲的優勢

1. 增加曝光

免安裝遊戲可以讓玩家更輕鬆地發現和體驗您的遊戲,只需單擊一下 "安裝" 按鈕旁邊的 "立即體驗" 按鈕,他們就可以從 Google Play Store 立刻啟動您的遊戲。玩家還可以點選網路廣告等推廣物料,從移動網站等位置直接進入您的遊戲。

當然,好處遠不止於此。使用者還可以通過 Google 搜尋、社交媒體、簡訊、電子郵件和許多其他平臺分享的連結來進入您的遊戲——只要能承載一條連結即可。

△ 能承載連結的介質很多,發揮想象力吧

2. 促進安裝

由於玩家在試玩之前沒有 "下載" 的負擔,這樣一來他們就更容易用輕鬆的心態試玩您的遊戲。另外,免安裝也意味著玩家無需斟酌 "這個遊戲是否值得佔用裝置上的寶貴儲存空間"。玩家可以試玩您遊戲中最精華的部分,然後您可以提示讓他們去安裝完整版本——這個過程玩家甚至都不必離開當下的遊戲體驗,完全無縫。

3. 提高留存率

免安裝遊戲可以為玩家提供機會立刻試玩您的遊戲。玩家在試玩後才會主動決定安裝完整遊戲,這樣一來,在下載後不久再解除安裝遊戲的玩家數量就會減少。另外,由於有試玩這個過程做為起點,那些安裝了完整遊戲的玩家也更有可能樂在其中,從而幫助您增加隨後下載遊戲的玩家數量。

不少遊戲開發者已經意識到了免安裝遊戲對他們現有遊戲的影響:

Hothead Games 的遊戲作品 Mighty Battles 的使用者獲取量增加了 19%https://developer.android.google.cn/stories/instant-apps/mighty-battlesKing 的遊戲作品 Bubble Witch 3 Saga 的使用者獲取量增加https://developer.android.google.cn/stories/instant-apps/kingJam City 的遊戲作品 Panda Pop 得以找到高品質的玩家群體https://developer.android.google.cn/stories/instant-apps/panda-popPlaytika 找到了新的玩家,提升了保留率,並增加了盈利https://developer.android.google.cn/stories/instant-apps/playtika不少成功開發者都在通過免安裝遊戲邁向下一個成功,我們希望您也加入他們的行列:

使用 Unity 打造免安裝遊戲難嗎?

只需要幾個小時,您就可以構建出免安裝遊戲並將其釋出到內部測試軌道 (internal test track)。如果使用 Unity 構建的遊戲超過了 13.5 MB 限制,您可以在那裡對您的免安裝遊戲進行內部測試和展示,您還會在 Play Store 中看到 "立即體驗" 按鈕。在內部測試軌道釋出後,我們發現開發者們也會關注以下內容:

定製免安裝遊戲的外觀。將免安裝遊戲的體積減少到 13.5 MB 以下。(使用 Unity 構建免安裝遊戲的體積限制)通過測試和 QA 執行免安裝遊戲,確保它完美適配沙盒需求和許可權需求,並確保滿足使用者安全需求。(我們建議在不同版本的 Android OS 上進行測試,至少要包括 Nougat 和 Oreo)具體需要多長時間取決於遊戲的實施細節和複雜程度。

遊戲沙盒需求https://developer.android.google.cn/topic/google-play-instant/getting-started/game-instant-app#target-sandbox-version遊戲許可權需求https://developer.android.google.cn/topic/google-play-instant/getting-started/instant-enabled-app-bundle#request-supported-permissions

我具體應該怎麼做?

建立自己的免安裝遊戲,需要以下五個步驟。

第1步: 設定您的工作環境

請先閱讀這份檢查清單,確保能順利開始後續的操作:

Unity 5.6 或更高版本 (我們建議至少採用 2017.4 釋出版本)適用於 Unity 的 Google Play Instant 外掛Unity Asset Storehttps://assetstore.unity.com/packages/tools/integration/google-play-instant-plug-in-118292GitHubhttps://github.com/google/play-instant-unity-plugin執行 Android 5.0 (Lollipop) 或更高版本的 Android 裝置 (實體或模擬器均可),啟用了開發者模式和 USB 除錯功能遊戲 APK 的專案原始碼,用於編譯測試和釋出版本在 Google Play Console 中建立內部測試軌道註冊加入 Unity Development Beta (生產環境下必須加入)建立內部測試軌道https://support.google.com/googleplay/android-developer/answer/3131213#internal_testUnity Development Betahttp://g.co/play/instantbeta

第2步: 構建和測試您的免安裝遊戲

接下來,您將把現有的遊戲轉換為免安裝遊戲。暫時不要考慮如何縮小體積或定製體驗流程。

1. 選擇 PlayInstant → Build Settings。

2. 在構建設定彈出視窗中,將 Android Build Type 設定為 Instant。

除非您已配置 Digital Asset Link,否則請將 Instant Apps URL 欄位留空。如有必要,您可以在 Override Scene 欄位中指定要使用的備用場景。如果您使用的是 Asset Bundles,請在 AssetBundle Manifest 欄位中指定相應的 manifest 檔案。完成後單擊 "儲存" 。

3. 選擇 PlayInstant → Player Settings。在玩家設定彈出視窗中:

在執行免安裝遊戲之前,單擊 Required Changes 列表中專案旁邊的 Update 按鈕以修復對應的設定條目。我們還建議更新 Recommended Changes 中的設定,主要側重於縮小體積。完成後關閉彈出視窗。

4. 在免安裝遊戲配置完畢後,選擇 PlayInstant → Build and Run 即可在已連線的裝置上啟動它。

第3步: 上傳到內部測試軌道

現在,將您在最後一步中編譯出來的免安裝遊戲上傳到內部測試軌道,這將允許最多 100 名選定的內部測試使用者通過 Play Store 測試您的免安裝遊戲。

請記住,在內部測試軌道,您的免安裝遊戲無需滿足 13.5 MB 的上傳體積限制

選擇 PlayInstant → Build for Play Console。導航至 Google Play Console,確保選擇了相應的應用,然後導航至 Android Instant Apps 標籤。選擇免安裝應用內部測試 (Instant app internal test),然後按照該頁面上的說明上傳您剛建立的檔案。更多關於建立免安裝應用的說明https://support.google.com/googleplay/android-developer/answer/7381861?hl=en&ref_topic=7072031

注意: 請確保您已正確配置內部應用測試人員列表,以便他們可以訪問該遊戲。您可以在 App releases → Instant app internal test → Manage testers 中設定人員。

第4步: 縮小檔案大小以滿足 13.5 MB 的體積限制

現在您已經熟悉了構建免安裝遊戲的技術細節,現在您應該開始著眼於它的外觀與體驗細節,並著力縮小它的尺寸了。如果您的遊戲檔案體積很大,請不要擔心——即便是遊戲檔案體積超過 350 MB 的開發者仍然能夠推出免安裝遊戲。以下是一些有助於將檔案體積減小到 13.5 MB 以下的技術:

優化玩家設定

正如我們之前看到的,PlayInstant → Player Settings 提供了許多推薦的改動措施,以便減少遊戲檔案體積。請您進行以下更新:

圖形 API 應限於 OpenGLES2Mono 模式編譯的專案應啟用 code strippingIL2CPP 模式編譯的專案應啟用 engine stripping

簡化遊戲內容

不要把您的整個遊戲都塞到免安裝遊戲裡去。您的免安裝遊戲應該讓玩家感受到完整遊戲的一部分,例如一段教程,或是一兩個令人興奮的關卡。刪除不需要的內容,例如材質、模型、影象或不屬於遊戲核心玩法的音訊內容。

最後,您還可以通過優化下列資源來進一步縮小檔案體積:

紋理的解析度3D 模型中的多邊形數量音質瞭解更多關於免安裝遊戲 UX 的最佳實踐https://developer.android.google.cn/topic/google-play-instant/best-practices/games

使用 Asset Bundle

Asset Bundle 允許您在免安裝遊戲執行時動態載入資源。如果資源直到執行時才被下載,就不會被計入 13.5 MB 的限制。這是遊戲開發者減少免安裝遊戲體積的常用方法。以下三個要素不可或缺:

基於您的免安裝遊戲中的場景建立的 Asset Bundle。一個使用者友好的載入螢幕,可以在下載 Asset Bundle 時告知使用者。用於放置和分發 Asset Bundle 的 Web 伺服器或內容分發網路 (CDN)——您自己的伺服器,或者 Google Cloud Storage 以及任何第三方的 CDN 服務都可以。接下來,我們將通過使用 Google Play Instant Unity 外掛附帶的 Quick Deploy 工具向您展示利用 Asset Bundle 功能的最快方法。

注意: 雖然您可以使用任意數量的 Asset Bundle,但每個 Asset Bundle 的體積必須小於 15 MB。

1. 選擇 PlayInstant → Quick Deploy。

2. 選擇 "Bundle Creation" 選項卡,然後選擇要動態載入的場景。完成後,選擇底部的 Build AssetBundle,並將生成的檔案上傳到 Web 伺服器或 CDN。

3. 選擇 "Loading Screen" 選項卡,然後設定 Asset Bundle 的 URL,以及要用於載入螢幕的背景紋理 (預設的那個就很好)。完成後,選擇 Create Loading Scene。

現在您已經得到了一個載入螢幕,它將用於動態載入您的 Asset Bundle。這個載入螢幕的原始碼已經由 Unity 自動生成,您可以進入到這個新的場景中檢視細節並進行定製。

第5步: 將體驗使用者轉化為安裝使用者

最後,您需要為玩家建立一種從免安裝遊戲中獲得完整遊戲的方式。如有必要,您可以使用 Google Play Instant Plugin for Unity 附帶的 Cookie API 無縫遷移玩家資料。

從免安裝遊戲升級到完整遊戲

您的免安裝遊戲應該為玩家提供安裝完整遊戲的入口,比如不影響遊戲體驗的訊息或按鈕入口。在玩家確定要安裝完整遊戲時,呼叫由 Play Instant Plugin 提供的 ShowInstallPrompt 方法,將安裝過程移交給 Google Play:

將體驗玩家的資料遷移至完整遊戲 (可選)

在某些情況下,您可能需要遷移玩家在體驗時產生的一些資訊。例如:

當玩家購買了遊戲中的物品,升級或定製了他們的角色時如果免安裝遊戲與完整遊戲中的教程環節類似,玩家可以在安裝完整版本後選擇跳過教程環節在玩家從免安裝遊戲轉換為完整遊戲後為他們提供獎勵您可以使用隨 Google Play Instant 外掛一起提供的 Cookie API,這樣您就可以在安裝之前和之後輕鬆地寫入和讀取資料:

1. 呼叫 CookieApi.SetInstantAppCookie 以便在免安裝遊戲中儲存資料:

2. 在完整遊戲中呼叫 CookieApi.GetInstantAppCookie 以讀取資料:

就是這些!相信您已經對如何建立免安裝遊戲,以及使用免安裝遊戲所帶來的好處有了比較全面的認識。我們期待著更多使用者通過免安裝遊戲來快速體驗您的作品,更期待著他們會因為免安裝遊戲成為完整遊戲的忠實玩家。祝大家遊戲開發路上好運!

Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題