幾個月前,我們重新推出 Androidify,讓使用者產生個人化的 Android 機器人。Androidify 會使用 Gemini 和 Imagen,將自拍照轉換成有趣的 Android 機器人。
不過,由於 Android 涵蓋多種板型規格, 包括最新推出的 XR,我們便思考如何將 Androidify 的樂趣帶到 Wear OS。
Androidify 錶面
Androidify 機器人是高度個人化的設計,因此最適合在錶面上展示。這不僅是最常顯示的介面,也是最個人化的介面,可讓你展現自我。
根據自拍照生成的個人化 Androidify 錶面
Androidify 現在可以在手機應用程式中動態產生錶面,然後傳送至手錶,並自動設為錶面。整個過程只需幾秒!
整體設計
錶面建立和安裝的端對端流程
如要實現端對端體驗,必須整合多項技術,如這張高階設計圖所示。
首先,系統會將使用者的虛擬人偶與預先存在的錶面格式範本合併,然後封裝成 APK。這項做法已通過驗證,原因稍後會說明!- 並傳送至手錶。
手錶收到後,會使用 Wear OS 6 的新 Watch Face Push API 安裝並啟用錶面。
詳細說明如下:
建立錶面範本
錶面是根據範本建立,而範本本身是在 Watch Face Designer 中設計。這是我們推出的全新 Figma 外掛程式,可讓您直接在 Figma 中建立錶面格式錶面。
錶面設計工具中的 Androidify 錶面範本
這個外掛程式可讓您以多種方式匯出錶面,包括匯出為錶面格式 (WFF) 資源。這些資源隨後可輕鬆整合為 Androidify 應用程式中的資產,用於動態建構最終錶面。
包裝和驗證
範本和虛擬人偶合併後,系統會使用 Portable Asset Compiler Kit (Pack) 組裝 APK。
在 Androidify 中,Pack 會做為手機上的原生程式庫。如要進一步瞭解 Androidify 如何與 Pack 程式庫介接,請參閱 GitHub 存放區。
這個驗證工具會檢查 APK 是否適合安裝,包括檢查 APK 內容是否為有效的錶面,以及進行一些效能檢查。如果有效,驗證工具就會產生權杖。
手錶必須使用這個權杖才能安裝應用程式。
正在傳送錶面
Wear OS 上的 Androidify 應用程式會使用 WearableListenerService 監聽 Wearable Data Layer 的事件。
手機應用程式會使用 MessageClient 設定程序,然後使用 ChannelClient 串流 APK,藉此轉移錶面。
在手錶上安裝錶面
Wear OS 裝置收到錶面後,Androidify 應用程式會使用新的 Watch Face Push API 安裝錶面:
val wfpManager =
WatchFacePushManagerFactory.createWatchFacePushManager(context)
val response = wfpManager.listWatchFaces()
try {
if (response.remainingSlotCount > 0) {
wfpManager.addWatchFace(apkFd, token)
} else {
val slotId = response.installedWatchFaceDetails.first().slotId
wfpManager.updateWatchFace(slotId, apkFd, token)
}
} catch (a: WatchFacePushManager.AddWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
} catch (u: WatchFacePushManager.UpdateWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
}Androidify 會視情況使用 addWatchFace 或 updateWatchFace 方法:錶面推送功能定義了「位置」的概念,也就是特定應用程式在任何時間可安裝的錶面數量。在 Wear OS 6 中,這個值實際上為 1。
Androidify 的做法是,如果還有空位,就會安裝錶面;如果沒有,則會將現有錶面換成新錶面。
設定使用中的錶面
以程式輔助方式安裝錶面是個很棒的步驟,但 Androidify 也會確保錶面是使用中錶面。
「錶面推送」功能導入了新的執行階段權限,應用程式必須取得這項權限,才能推送錶面:
com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE
取得這項權限後,即可呼叫 wfpManager.setWatchFaceAsActive() 方法,將已安裝的錶面設為使用中錶面。
不過,Androidify 必須考量下列事項:
setWatchFaceAsActive只能使用一次。SET_PUSHED_WATCH_FACE_AS_ACTIVE遭使用者拒絕後,就無法再次要求。- Androidify 可能已控管使用中的錶面。
詳情請參閱 Androidify 如何實作設定活動邏輯。
開始使用 Wear OS 錶面推送功能
錶面推送 API 功能多元,不僅適合用來強化 Androidify,也適用於建構功能齊全的錶面市集。
您可能已有手機應用程式,並希望進一步吸引使用者,讓他們感到滿意。
或者,您是現有的錶面開發人員,想透過發布市集應用程式,建立自己的社群和圖庫?
請參閱下列資源:
此外,也歡迎觀看隨附影片,深入瞭解我們如何將 Androidify 帶到 Wear OS!
我們很期待看到您透過錶面推送功能打造的錶面!
繼續閱讀
-
產品新訊
從擴增疊加層到完全沉浸式環境,Android XR 生態系統正在迅速擴展,Samsung Galaxy XR 也已於今天上市。
Stevan Silva, Vinny DaSilva • 3 分鐘可讀完
-
產品新訊
每年 Google I/O 大會都會發布生態系統和產品的最新消息與資源,包括 Android 開發。隨著開發工作轉向 AI 和代理程式輔助工具,我們也擴大產品陣容,無論您決定如何建構 Android 應用程式,都能獲得更完善的支援。
Simona Milanovic • 閱讀時間:2 分鐘
-
產品新訊
在 2026 年 Google I/O 大會上,我們展示了 Android 生態系統的最新進展,說明如何協助您提升應用程式品質,同時盡可能提高開發效率。
Ataul Munim • 3 分鐘可讀完
隨時掌握最新消息
每週透過電子郵件接收最新的 Android 開發洞察資訊。