Wear OS 開發原則

Wear OS 是以 Android 做為建構基礎,因此許多 Android 最佳做法也適用於 Wear OS。不過,Wear OS 是針對手腕配戴的裝置最佳化,因此兩者之間有些差異。

要最佳化開發時間,請先詳閱以下原則,再開始建立 Wear OS 應用程式。

注意事項:API 級別 30 的 Wear OS 模擬器系統映像檔,目前仍為開發人員預覽版。 如需最新資訊,請參閱「版本資訊」。

設計重要工作

請著重在目標使用者的一兩種需求,而非完整的應用程式體驗。請勿遷移整個行動程式碼集,也不要將 Wear OS 使用者介面置於上層。

正確的做法是確認有哪些重要工作可以在手腕裝置上順利運作,並簡化 Wear OS 的使用體驗。

範例應用程式

針對手腕裝置進行最佳化

幫助使用者在幾秒內完成手錶上的工作,避免造成使用者身體不適或手臂疲勞。

請參閱「Wear OS 設計指南」,進一步瞭解如何針對手腕裝置進行最佳化。

計時器範例

使用工作適用的介面

比起行動裝置,Wear OS 提供更多可吸引使用者的介面。應用程式應針對這些介面量身打造內容。

每個介面都有其用途。如果需要更多動作,請將使用者導向更完整的應用程式體驗。

途徑用途

閱讀並瞭解使用者需求的優先順序,據此在各介面上調整內容比例。以下是天氣應用程式優先順序的範例。

小工具

P1:現在的天氣如何?

通知

P1 告訴我惡劣天氣的相關資訊

資訊方塊

P1:現在的天氣如何?

P2:今天的天氣如何?

應用程式

P1:現在的天氣如何?

P2:今天的天氣如何?

P3:每小時詳細資料為何?

P3:偏好設定

天氣資訊方塊

詳情請參閱我們的使用者介面指南。

在其他介面新增通知

在 Wear OS API 級別 30 以上版本中,將任何持續進行的通知與 OngoingActivity 配對,即可將該通知新增至 Wear OS 使用者介面中的其他介面,以提升長時間執行活動的參與度。

支援離線情境

雖然 Wear OS 裝置通常支援藍牙和 Wi-Fi,但可能不支援 LTE。適用於在使用者可能將行動裝置留在家中時,因應各種連線不穩或離線用途 (例如運動和通勤時)。

離線範例

提供相關的內容

使用者幾乎一直配戴著手錶。請根據使用者情境 (例如時間、地點和活動) 更新應用程式內容。

介面

協助使用者透過其他裝置完成工作

擁有多部裝置的使用者越來越多。智慧手錶可以協助使用者在分散式裝置生態系統中完成工作。查看適合您應用程式的用途。

改善應用程式冷啟動時的使用者體驗

如要改善應用程式冷啟動時的使用者體驗,請建立具有不同主題的啟動活動,並在資訊清單檔案中將其 windowBackground 設為自訂啟動可繪項目。啟動畫面由圖層清單組成,其中有兩個元素:背景顏色和自訂可繪項目 (通常是應用程式圖示)。可繪項目大小應為 48 x 48dp。

媒體應用程式的注意事項

啟用手機音樂的播放控制項

如果應用程式同時安裝在手機和手錶上,則使用者會希望手錶能進行遠端操控。舉例來說,使用者期望可以透過手錶暫停、播放或略過歌曲。

下載的內容

如先前所述,請務必支援離線情境。這一點對於媒體應用程式而言特別重要。以媒體應用程式來說,較為輕鬆的做法是先支援離線下載,然後再視需求新增串流功能。

設計時,請向使用者清楚說明可離線使用的內容。針對長時間執行的工作或週期性工作,請使用 WorkManager。延後下載作業,直到手錶充電並連上 Wi-Fi 為止。

透過 LTE 串流播放

考慮在有 LTE 連線的裝置上提供串流支援,這也是媒體播放的常見用途。有了串流功能,使用者就能將其他裝置留在家裡,同時聆聽音樂。串流音樂和快取串流音訊時,請務必以視覺化的方式向使用者傳達相關資訊。請避免將 LTE 用於所有可延遲的工作,例如傳送記錄和數據分析資料,以便在串流時最佳化耗電量。

支援藍牙耳機

使用者在跑步或步行時可能只攜帶智慧手錶和耳機。支援與耳機配對,讓使用者得以享有真正的獨立體驗。如果在播放或繼續播放音樂時未連上耳罩式耳機,請啟動藍牙設定,讓使用者直接透過應用程式連線到藍牙耳機。

指明音樂來源

清楚顯示聲音是來自智慧手錶還是手機。使用來源圖示來表示音樂播放的位置。預設來源應是使用者開始播放音樂的位置。

使用喇叭

部分 Wear OS 裝置配有內建喇叭,可用於提醒和鬧鐘等功能。請避免使用內建喇叭播放媒體和音樂,因為使用者希望能透過耳機享有這類體驗。詳情請參閱「偵測音訊裝置」。

健身應用程式的注意事項

在 Android 10 以上版本建立健身應用程式時,您必須要求體能活動辨識權限。

與行動應用程式相輔

如上所述,在手腕裝置上執行的 Wear OS 健身應用程式,應該只用於處理重要工作。也就是說,Wear OS 健身應用程式主要著重於收集資料。

您可以提供一些健身後的摘要畫面,將健身後詳細分析以及其他需要較多螢幕空間的功能留給行動應用程式。

支援長效活動

如同許多應用程式會訂閱位置和感應器資料,您的應用程式也可以設計成在「使用期間」處理執行工作。也就是說,應用程式必須在前景運作。

如果運動是在活動中開始,請將該活動繫結至能夠執行工作的服務。當使用者離開應用程式時,服務會解除繫結,並將自身升級為持續進行的通知。

在 Wear OS 中,您可以利用最少量的程式碼,透過 Ongoing Activity API 將持續進行的通知分享到新的介面。

請前往 GitHub 查看持續進行的活動程式碼研究室,瞭解使用這個架構的簡化應用程式。

節制使用「一律開啟」狀態

如果使用者在應用程式使用期間停止使用手錶,裝置最終會進入系統微光模式,以節省電量。

如果使用者在指定時間內再次與裝置互動,Wear OS 會將該應用程式還原為使用中狀態。

在多數情況下,這應該足以讓使用者享有良好的體驗並延長電池續航力。

在某些情況下,您可能需要延長應用程式的顯示時間,例如在整個健身期間。在這種情況下,您必須使用 Wake Lock 和 AmbientModeSupport。 詳情請參閱「在 Wear 上讓應用程式持續顯示」。

如要有效使用 AmbientModeSupport,請按照下列指示操作:

不要讓 Wake Lock 保持開啟

除非是與一律開啟搭配使用,否則請不要讓 Wake Lock 保持開啟。

位置最佳化與感應器管理

感應器管理非常重要,如果未妥善處理,可能會對電池續航力造成負面影響。

導入感應器策略時,請務必遵循下列建議:

  • 請盡可能以批次模式使用感應器。
  • 在螢幕/應用程式再次開啟時清除感應器。
  • 在螢幕關閉時變更批次長度,以節省電力。
  • 移除不再需要的感應器監聽器。
  • 針對位置感應器,請遵循「在 Wear OS 上偵測位置」一文所述的最佳做法。

使用硬體按鈕

使用者預期在按下智慧手錶上的按鈕後可以控制健身活動,例如開始、停止或暫停健身。如果按鈕可供使用,請提供這個選項。

利用觸覺回饋以確認動作

使用觸覺回饋來確認動作,例如開始、停止、自動暫停或自動計圈。

使用觸控鎖定功能

在某些情況下,停用觸控體驗可改善應用程式體驗。舉例來說,追蹤游泳運動時,停用觸控功能 (或者將應用程式設為「水中模式」) 會更有意義,因為在這類情況下,很可能會發生意外觸控。

詳情請參閱水中模式

訊息應用程式的注意事項

從通知開始

支援 MessagingStyle 改善使用者應用程式體驗。

支援語音輸入

請務必支援語音轉文字,因為這個方法在手錶上的效率會更高。您可能也需要支援錄製的音訊。