Android 使用者可透過 Wear OS 隨時隨地享受各種音訊內容,例如有聲書、音樂、Podcast 和電台。Wear OS by Google 可讓您編寫各種應用程式 (包括音訊內容應用程式),協助使用者與人溝通交流、保持健康,以及表達自我。
如果您曾經開發過 Android 應用程式,可能會對應用程式和通知等功能非常熟悉。開發 Wear OS 應用程式時,您可以運用 Modern Android Development 的相關知識。
Wear OS 開發原則
Wear OS 是以 Android 為基礎的作業系統,因此許多 Android 最佳做法也適用於 Wear OS。如要充分利用開發時間,請先詳閱這些原則,再開始建立 Wear OS 應用程式。
在 Wear OS 上建立並執行應用程式
如要開始使用,最好的方法就是親自體驗 Wear OS 應用程式!您可以使用 Android Studio 範本建構第一個 Wear OS 應用程式。此應用程式會展示多種在 Wear OS 裝置上快速查看資訊的方法,並介紹在平台上開發應用程式的最佳做法。
如需逐步操作指南,請參閱「在 Wear OS 上建立並執行應用程式」。
Wear OS 應用程式與行動應用程式的開發差異
設計行動應用程式和 Wear OS 應用程式的方式稍有不同。如要瞭解在開發 Wear OS 應用程式與 Android 行動應用程式時,對於特定功能、API 或最佳做法的處理有何不同,請參閱功能表。
Wear OS 媒體應用程式的常見用途
在 Wear OS 上建構媒體應用程式,讓使用者透過手錶串流播放及播放下載的內容。為提供最佳使用者體驗,請考慮導入下列媒體用途,這些用途在 Wear OS 裝置上特別適用。
播放下載的內容
使用者運動時無須連上網路,即可聆聽內容。雖然 Wear OS 裝置通常支援藍牙和 Wi-Fi,但可能不支援 LTE。適用於在使用者可能將行動裝置留在家中時,因應各種連線不穩或離線用途 (例如運動和通勤時)。詳情請參閱「使用已下載的內容」。
透過任何可用網路串流播放
使用者可以透過手錶串流播放音樂、Podcast 或電台,但串流播放可能會耗盡手錶電力。使用者選擇透過手錶聆聽音樂時,可在瀏覽清單中顯示最近使用的下載內容,優先播放已下載的內容。建議您新增一個按鈕,用於將使用者帶往完整的下載內容清單,如下圖所示。
使用 Compose for Wear OS 建構應用程式
Compose for Wear OS 屬於 Android Jetpack,正如您使用的其他 Wear Jetpack 程式庫,這個項目的用意是協助加快編寫程式碼的過程。建議您使用此方法為 Wear OS 應用程式建構使用者介面。
行動裝置專用的 Jetpack Compose 有許多開發原則都適用於 Compose for Wear OS。但也有一些關鍵差異。使用 Compose for Wear OS 建構應用程式時,請務必設計應用程式,讓使用者能透過手錶輕鬆快速存取媒體。手錶是獨一無二的介面,兼顧互動的便利性和速度是首要之務,因為使用者與手錶互動的時間遠比手機或平板電腦少。
如要進一步瞭解宣告式 UI 架構的一般優點,請參閱「為什麼要選擇使用 Compose」。如果您不熟悉如何使用 Jetpack Compose 工具包,請參閱 Compose 課程。如要進一步瞭解 Compose for Wear OS,請參閱 Compose for Wear OS 課程和 GitHub 的 Wear OS 範例存放區。
Wear OS 媒體工具包
Wear OS 媒體工具包是一組程式庫,可加速開發 Wear OS 專用的優質媒體應用程式。這個工具包是 Horologist 專案的一部分。Horologist 是額外程式庫,可協助您加快應用程式開發速度。
這項工具包採用一流的媒體用途程式庫,從使用 Compose for Wear OS 實作的 UI,到使用 Media3 實作的播放功能,應有盡有。如果應用程式有特定需求,您可以採用工具包中的 UI 實作方式,同時繼續使用現有的播放器。
媒體工具包可協助您解決各種難題,例如避免在手錶的內建揚聲器上播放媒體、啟用音訊卸載,以及避免不必要地 Ping 網路。
「設計媒體應用程式」一文提供您透過 Horologist 實作的指引,以及 Wear OS 的架構和用途相關資訊。
Wear OS 專屬挑戰的最佳做法
在 Wear OS 上建立媒體應用程式時,請考量手錶與行動裝置的使用者體驗差異,特別是下列事項:
- 內建喇叭並非專為播放音樂而設計,因此請使用藍牙音箱或耳機。
- 網路連線可能受限或不穩定,因此您應針對各種網路狀況最佳化應用程式,並盡量減少網路用量。
- 小型電池的電力有限,裝置在主要 CPU 上執行音訊處理作業,以及 LTE 訊號不良時,電池耗電速度會更快。新增音訊卸載支援功能,有助於節省電力。
- 裝置提供多種 UI 介面,讓使用者重新與您的應用程式互動。請在這些介面上展示應用程式的功能。
使用藍牙音箱或耳機
雖然手錶喇叭可用於通話和導覽活動,但並非聆聽媒體內容的最佳選擇。
為提供最佳使用者體驗,應用程式可以使用媒體工具包,確保在藍牙耳機或音箱與手錶連線時播放音訊。
媒體工具包提供特定的 Media3 擴充功能,可裝飾 ExoPlayer 執行個體,並在發出聲音前主動停止意外播放。
根據網路狀況調整最佳化設定
如要讓媒體應用程式在手錶上順暢運作,請根據下列串流考量事項和網路狀況做出選擇:
- 選擇低位元率 (例如 48 kbps) 和轉碼器 (例如 AAC 和 MP3) 串流,以最佳化內容。
- 針對圖片和曲目最佳化預先擷取策略,以便在暫時失去連線時繼續播放。
- 在所有網路設定中測試應用程式:Wi-Fi、LTE,以及手錶透過藍牙連線至手機。此外,也請測試手錶在網路間切換時會發生什麼情況。
Wear OS 媒體工具包可協助您建立高效能應用程式的基礎,例如提供「網路感知」模組,為特定作業選擇較佳的連線。
啟用音訊卸載
如要提升 Wear OS 應用程式的效能並降低耗電量,請使用音訊卸載。可將音訊處理作業從 CPU 卸載至專用訊號處理器。媒體工具包提供支援,可協助您使用
AudioOffloadManager
如果不確定特定音訊格式是否支援音訊卸載,請使用 AudioManager.isOffloadedPlaybackSupported()
方法。詳情請參閱 ExoPlayer 說明文件。
除非絕對必要,否則避免建立網路連線
為 Wear OS 開發應用程式時,請預期使用者網路連線受限。使用 MediaDownloadService,即可讓使用者穩定下載媒體,隨時隨地播放。
這個工具包可讓您使用 Media3 的 DownloadManager 和 AndroidX WorkManager 排定下載作業,更有效率地最佳化媒體下載作業。
Media3 會啟動所有必要的通知和前景服務。範例應用程式程式碼會設定 WorkManager,在 Wi-Fi 連線可用時執行下載作業,以提供更優異的效能。開發人員可使用網路感知模組,根據網路類型對應網路作業。
讓使用者瞭解媒體播放狀態
在 Wear OS 3 以上版本中,持續性通知可顯示在 Wear OS 使用者介面中的多個途徑。輕觸持續性活動通知時,應用程式會開啟播放器畫面。
使用 Media3 時,Wear OS 會自動為媒體應用程式建立持續性活動,並透過意圖開啟應用程式。這樣一來,使用者就能更投入長時間執行的活動,例如媒體播放。