Data Layer API 總覽

雲端型節點是由 Google 自有伺服器控管
圖 1.手持式和微服務的節點網路範例 Wear OS 裝置。

Wearable Data Layer API 是 Google Play 服務的一部分, 穿戴式裝置 (例如智慧手錶) 和 連接的手持裝置 (通常是智慧型手機)。這種同步處理作業 在裝置之間轉移資料。

注意:這個 API 僅適用於 Wear OS 手錶, 。與 iOS 手機配對的 Wear OS 手錶: 如果有網際網路連線的話,也可查詢其他雲端式 API。如要 如要進一步瞭解這些 API 開啟網路存取與同步功能 Wear OS:

注意:資料層 API 專為 只有這些 API 設定這些裝置之間的通訊。舉例來說,請不要試圖 開啟低階通訊端來建立通訊管道

常見用途

Data Layer API 對健身和媒體用途而言特別實用,

健身應用程式

您通常需要將運動資料從 Wear OS 應用程式傳送至行動應用程式的健身應用程式: 將智慧手錶擷取的運動資料寫入行動應用程式或「健康」 連線。如果使用 Data Layer API 移轉資料,請使用 訊息用戶端,將運動資料從 Wear OS 應用程式傳送至行動應用程式 才能寫入 Health Connect。

在家庭健身期間將即時資料串流至行動裝置

常見的居家健身情境是串流 Wear OS 的心率資料 行動裝置傳送至行動裝置,向使用者顯示最新心率資訊 的行動裝置畫面上。如要串流這項資料,請使用管道用戶端

媒體應用程式

透過從 訊息用戶端請使用訊息用戶端

通訊選項

系統會透過下列其中一種方式轉移資料:

  1. 直接,如果裝置與伺服器之間已建立藍牙連線, Wear OS 裝置和其他裝置。
  2. 透過可用的網路 (例如 LTE 或 Wi-Fi), Google 伺服器中的網路節點做為中介平台

所有資料層用戶端都可以透過藍牙或 視裝置可用的連線而定。假設這些資料 透過資料層傳輸的資料,可能會在某個時間點使用 Google 自有伺服器。

藍牙

當裝置透過藍牙連線時,資料層會使用這個連線方式。 裝置之間會有一個採用標準的加密版本, 藍牙加密功能,由 Google Play 服務管理。

雲端

無法使用藍牙時,系統會自動透過 Google Cloud 傳輸資料。 所有透過 Google Cloud 傳輸的資料都會經過端對端加密處理。

通訊安全性

Google Play 服務會強制執行下列限制,進一步確保安全性 Wear OS 裝置上安裝的應用程式與同一應用程式之間的通訊 安裝在附近的手持裝置上:

  • 兩部裝置的套件名稱必須一致。
  • 兩部裝置的套件簽名必須一致。

無論連線類型為何,其他應用程式都無法存取資料。

設定

Wearable Data Layer API 具有下列依附元件:

在 Wear 模組的 build.gradle 檔案中納入下列依附元件:

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:18.2.0")
}

進行初始配對程序

Horologist 提供了幾個以平台 API 為基礎的輔助程式庫。 其中包含資料層程式庫,有助於在 使用行動裝置和 Wear OS 裝置此外,它也提供便利的 API :

  • 在其他裝置上安裝應用程式。
  • 在其他裝置上啟動應用程式。
  • 在其他裝置上啟動特定活動。
  • 啟動隨附應用程式。

存取資料層

如要呼叫 Data Layer API,請使用 Wearable 類別取得 各種用戶端類別,例如 DataClientMessageClient

詳情請參閱 DataLayer 範例

使用最基本的用戶端

如要建立用戶端,請參閱以下範例程式碼:

Kotlin

val dataClient: DataClient = Wearable.getDataClient(context)

Java

DataClient dataClient = Wearable.getDataClient(context);

結構定義可以是任何有效的 Android 結構定義。如果你是在 Activity 的範圍,請使用 WearablegetDataClient() 方法 類別這樣一來,特定互動就會顯示為對話方塊 通知,例如要求使用者更新自己的 Google Play 服務。

根據預設,對監聽器的回呼是在應用程式主 UI 執行緒進行。希望 如要在不同執行緒進行回呼,請使用 WearableOptions 物件, 指定自訂 Looper

Kotlin

runBlocking {
    Wearable.getDataClient(context, options)
}

Java

WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build();
DataClient dataClient = Wearable.getDataClient(context, options);

詳情請參閱 WearableOptions.Builder 參考資料。

視需要重新建立用戶端執行個體

DataClientMessageClient 等 Wearable API 用戶端會 不僅製作成本較低請重新建立 採用適合應用程式的樣式

用戶端狀態 (例如已註冊的事件監聽器組合) 會由所有資源 Google Play 服務在應用程式更新時更新, 備用資源