選擇用戶端類型

Wear OS 資料層 API 包含幾種不同類型的用戶端,適用於不同類型的資料,以及不同的連線狀態。

本頁面會介紹各用戶端類型,並提供表格比較不同用戶端的功能。您可以根據這項資訊,為應用程式選取最合適的用戶端類型組合。

何時應使用 Data Layer API

如果互動僅限於本機手錶和本機手機,請使用 Data Layer API。如需詳細範例,請參閱「資料層常見用途」。

資料用戶端

DataClient 物件可讓您讀取或寫入 DataItem 或 Asset:

  • 每個 DataItem 都是資訊單位,會向使用者擁有的所有鄰近裝置廣播並同步處理。DataItem 會持續儲存,裝置可以讀取內容,直到資料項目遭到刪除為止。

  • Asset 適用於較大的資料酬載,例如圖片或媒體檔案。

訊息用戶端

MessageClient 物件可以傳送訊息,且適用於遠端程序呼叫 (RPC),例如使用 Wear OS 裝置控制安裝在手持裝置上的應用程式版本。

訊息很適合用於 sendMessage() 的單向要求,或 sendRequest() 的要求/回應通訊模型。與資料用戶端不同,訊息用戶端需要節點連上網路,才能傳送訊息。

sendMessage() 方法會盡力傳送至遠端節點,且不含任何內建重試機制。如果目標裝置在網路轉移開始前中斷連線,這個方法會傳回 TARGET_NODE_NOT_CONNECTED。

管道用戶端

ChannelClient 物件可在裝置之間提供串流導向的通訊。管道是兩個節點之間的雙向通訊管道,適用於下列用途:

  • 在網路無法使用的狀況下,於多個已連接的裝置間傳輸資料檔案。ChannelClient 比 DataClient 更節省磁碟空間,後者會在與連結的裝置同步處理前,在本機裝置建立資產副本。
  • 使用 MessageClient 穩定傳送因太大而無法傳送的檔案。
  • 傳輸串流資料,例如來自麥克風的語音資料。

開啟管道後,您可以持續傳送及接收位元組串流中的資料,而非資料用戶端要求的離散 DataItem 單位。

您必須負責管理資料流程,並確保資料一致性。 管道用戶端無法提供與資料用戶端相同程度的自動資料同步功能。

用戶端比較

下表比較不同用戶端的功能:

用戶端類型 資料持續性 是否支援超過 100 KB 的資料? 要使用的網路 擴充功能可以離線作業嗎?
資料用戶端 資料會無限期保留 是 (使用 Asset 物件) 建議使用藍牙。資料會備份到雲端;如果藍牙可用,這項備份作業會以非同步方式進行 是,適用於讀取和寫入
訊息用戶端 不保留也不重試 否 優先使用藍牙,但如果只有 Wi-Fi 連線可用,也可以使用 Wi-Fi 否
管道用戶端 不保留 (連線導向) 是 優先使用藍牙,但如果只有 Wi-Fi 連線可用,也可以使用 Wi-Fi 否

如要進一步瞭解如何使用 Data Layer API,請參閱「同步處理資料」指南。如要瞭解使用 Data Layer API 時的電力考量,請參閱「節省電力」指南。