Samsung Galaxy XR 登場,搭載 Android XR!這篇網誌文章是 Android XR Spotlight Week 的一部分,我們提供網誌文章、影片和程式碼範例等資源,協助您學習、建構及準備 Android XR 應用程式。
今天,我們將著重於開發歷程的最後一個步驟,確保這些體驗能順利提供給使用者。正確發布應用程式可確保應用程式有效封裝、由合適的裝置探索,並以最佳方式呈現。
以下是在 Google Play 發布及發行 Android XR 應用程式時,您需要瞭解的 5 件事。
1. 遵循 Android XR 應用程式品質指南,確保應用程式品質
發布前最重要的步驟之一,就是確保應用程式提供安全、舒適且效能良好的使用者體驗。
遵循 Android XR 應用程式品質指南,有助於確保應用程式在 Galaxy XR 等裝置上提供優質的使用者體驗。
品質的重要性
這些指南以大螢幕應用程式品質指南為基礎,著重於 XR 專屬的重要條件,包括:
- 安全和舒適:這是最重要的考量。這些規範為攝影機移動和影格速率設定標準,並限制閃爍等視覺元素,有助於避免動暈症。
- 效能:應用程式必須達到目標影格速率等效能指標,才能避免延遲,確保使用者享有流暢舒適的體驗。
- 互動:指南中指定了互動目標的建議最小尺寸 (例如最小 48 dp,建議 56 dp),以便與眼球追蹤和手部追蹤輸入內容搭配使用。
2. 正確設定應用程式資訊清單
AndroidManifest.xml 檔案會說明應用程式的重要資訊。Android 建構工具、Android 系統和 Google Play 會使用這項資訊,瞭解您建構的體驗類型和所需的硬體功能。正確設定是指定裝置和啟動應用程式的關鍵。
指定應用程式使用的 Android XR SDK
在應用程式資訊清單中加入 android.software.xr.api.spatial 或 android.software.xr.api.openxr,指出您是使用 Jetpack XR SDK 建構,還是使用 OpenXR 或 Unity 建構。
| 使用的 SDK | 資訊清單宣告 |
| Jetpack XR SDK | android.software.xr.api.spatial |
| OpenXR 或 Unity | android.software.xr.api.openxr |
如果應用程式是使用 OpenXR 或 Unity 建構,您必須將 android:required 屬性設為 true。如果是使用 Jetpack XR SDK 建構的應用程式,請在應用程式發布至 Android XR 專用發布群組時,將 android:required 屬性設為 true;在應用程式發布至行動裝置發布群組時,將 android:required 屬性設為 false 。
設定活動啟動模式
在主要活動中使用 android.window.PROPERTY_XR_ACTIVITY_START_MODE 屬性,定義預設使用者環境:
| 啟動模式 | Purpose | SDK |
XR_ACTIVITY_START_MODE_HOME_SPACE | 在主畫面 (共用的多工處理環境) 中啟動應用程式。 | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED | 在全螢幕模式中啟動,提供完全沉浸式的單一應用程式環境。 | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED | 在全螢幕模式中啟動,提供完全沉浸式的單一應用程式環境。請注意,使用 OpenXR 或 Unity 建構的應用程式一律會在全螢幕模式下執行。 | OpenXR 或 Unity |
在執行階段檢查選用的硬體功能
除非應用程式真的需要,否則請避免將選用的 XR 功能 (例如手勢追蹤或控制器) 設為 android:required="true"。如果裝置不支援必要功能,Google Play 會對該裝置隱藏您的應用程式。如果將應用程式可正常運作的非必要功能設為必要功能,可能會不必要地限制目標對象。
請改為在執行階段使用 PackageManager 類別和 hasSystemFeature(),動態檢查進階功能:
Kotlin val hasHandTracking = packageManager.hasSystemFeature("android.hardware.xr.input.hand_tracking") if (hasHandTracking) { // Enable high-fidelity hand tracking features } else { // Provide a fallback experience }
確保應用程式具有廣泛的相容性,並在適用時運用進階功能。
3. 使用 Play Asset Delivery (PAD) 傳送大型資產
沉浸式應用程式和遊戲通常含有大型資產,可能會超出標準大小限制。使用 Play Asset Delivery (PAD) 管理大型高保真資產。PAD 提供彈性的放送模式:安裝時提供、快速追蹤及隨選提供,可逐步下載內容。為 Android XR 打造的應用程式可以提供額外資產包:以隨選或立即接續方式提供的資產包,累計總大小上限為 30 GB,而非 4 GB。
如果是使用 Unity 建構遊戲的開發人員,請搭配使用 Unity Addressables 和 Play Asset Delivery 管理資產包。
4. 透過空間影片預覽功能展示應用程式
如要吸引使用者在 XR 頭戴式裝置上瀏覽 Play 商店時的目光,可以提供空間影片素材資源,讓他們沉浸式預覽應用程式。影片必須是 180 度、360 度或立體影片。在 Android XR 裝置上,Play 商店會自動將這項內容顯示為沉浸式 3D 預覽畫面,讓使用者在安裝應用程式前,體驗內容的深度和規模。
5. 選擇 Google Play 發布群組
Google Play 提供兩種發布 Android XR 應用程式的途徑,兩者都使用相同的 Play 管理中心帳戶:
選項 A:繼續使用行動裝置發布群組 (適用於空間化行動應用程式)
如果要在現有行動應用程式中加入空間 XR 功能,通常可以將 XR 功能或內容併入現有的 Android App Bundle (AAB)。
如果應用程式在行動裝置和 XR 裝置上都能維持大部分的核心功能,且您能繼續將相同的 AAB 發布至行動裝置測試群組,就非常適合採用這種做法。請參閱這份指南,確認您已正確設定應用程式的資訊清單檔案,支援這個用途。
方法 B:發布至 Android XR 專屬發布群組
如果您要為 XR 建構全新應用程式,或 XR 版本的功能與單一 AAB 差異過大,請發布至 Android XR 專屬發布群組。
發布至 Android XR 專用發布群組的應用程式,只會向支援 android.software.xr.api.spatial 或 android.software.xr.api.openxr 功能的 Android XR 裝置顯示,方便您控管發布作業。
遵循這項指引,有助於確保創新的 Android XR 應用程式提供優質的使用者體驗、有效率地封裝、透過 PAD 順利發布,以及指定可執行應用程式的裝置。祝你發布愉快!
-
使用方法Media3 1.11 版已發布。這個版本支援絕大多數頂尖 Android 媒體應用程式,並在播放、編輯和 UI 元件方面提供新功能、修正錯誤及改善項目。
Toni Heidenreich • 3 分鐘小故事 -
使用方法歡迎回到「建構智慧型 Android 應用程式」系列網誌文章。我們將以基本 Android 應用程式為基礎,打造個人化、智慧型且代理程式化的體驗。在先前的文章中,我們介紹了 Jetpacker,也就是本系列文章中會使用的示範應用程式。
Caren Chang • 閱讀時間:6 分鐘 -
使用方法Jetpacker 是技術展示應用程式,由我們的團隊從頭開始建構,用於今年的 Google I/O (使用 Antigravity 建構)。Jetpacker 的核心功能是協助使用者規劃、探索及享受下一次的重大冒險。
Jolanda Verhoef • 閱讀時間:4 分鐘
每週透過電子郵件接收最新的 Android 開發洞察資訊。