使用 Data Layer API 在網路上探索裝置

裝置可以直接透過 Wi-Fi 或行動網路連線,或透過配對的藍牙裝置間接連線到網際網路。

可連線的鄰近節點

如果裝置連上網路且能夠與其他裝置通訊 (無論是直接透過藍牙或間接使用雲端做為中介裝置),就會視為「可連線」

如果裝置可以直接透過藍牙直接連線,而不使用雲端,系統會將其視為「附近」

影響重新連線時間的活動

在某些情況下,裝置最多可能需要 4 分鐘才能重新建立連線。這類情況包括:

  • Wear OS 裝置閒置:如果從使用者的手腕移除 Wear OS 裝置,或長時間未主動使用,重新連線時間可能會延長。
  • 打盹狀態:手持裝置的省電打盹狀態可能會限制背景程序,也可能會增加裝置的重新連線時間。
  • 使用者互動:如果使用者大致同時開始與手持裝置和 Wear OS 裝置互動,系統通常會加快重新連線程序。

使用節點用戶端探索所有裝置

NodeClient 物件會識別已連線至網路的 Android 裝置清單,並廣播至清單,無論每部裝置的功能為何。裝置上的所有應用程式都會收到這類事件通知,例如有新裝置加入網路,或是現有裝置離線。

NodeClient 類別特別適合用來找出未安裝應用程式的裝置。

使用功能用戶端探索特定裝置

CapabilityClient 物件會提供相關資訊,指出 Wear OS 網路中的哪些裝置支援特定應用程式功能。「功能」是指應用程式在建構期間定義在執行階段動態設定的功能。

舉例來說,某個 Android 行動應用程式可通告其支援遠端影片播放。該應用程式的 Wear OS 版本可以使用 CapabilityClient 檢查附近裝置是否已安裝行動版應用程式,並支援該功能。如果是的話,Wear OS 應用程式可以顯示播放和暫停按鈕,讓使用者透過 Wear OS 裝置控制在行動裝置上播放的影片。功能廣播功能則反向運作;Wear OS 應用程式也可以列出自身支援的功能。

檢查應用程式的新功能

使用 CapabilityClient 決定要通訊的裝置節點 ID。舉例來說,如果需要檢查手持裝置的應用程式是否有新功能,請在手持裝置為該新功能建立功能。這樣一來,Wear OS 應用程式就能查詢支援該功能的裝置。如果所有裝置都缺少這項功能,表示使用者沒有支援這項功能的應用程式版本,該版本應在應用程式邏輯中妥善處理。假如您認為手持裝置一律是正確的通訊節點,則訊息最終可能無法傳送,因為手機應用程式不支援此功能。

判斷 Wear OS 裝置是否為網路中唯一的裝置

您可以使用 CapabilityClient 檢查應用程式是否必須在獨立模式下運作,因為附近沒有其他 Android 裝置。如果傳入 FILTER_ALL,結果中就不會顯示其他裝置。