Data Layer API の概要

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph> クラウドベースのノードを Google 所有のサーバーで制御する
図 1.ハンドヘルドとデバイスの接続をサポートするノードのネットワーク Wear OS デバイス。

Google Play 開発者サービスの一部である Wearable Data Layer API を使用すると、 ウェアラブル デバイス(スマートウォッチなど)と 接続されたハンドヘルド デバイス(通常はスマートフォン)複数のノードを同期して デバイス間でデータを転送できます。

注: この API は Wear OS スマートウォッチと ペア設定した Android デバイス。iOS スマートフォンとペア設定した Wear OS スマートウォッチの場合、アプリは次のことができます。 インターネット接続が利用可能な場合に、他のクラウドベースの API にクエリを実行する。詳細情報 詳しくは、 ネットワーク アクセスと同期: オン Wear OS

注意: データレイヤー API は ハンドヘルドとウェアラブル間の通信に対応できます デバイス間の通信を設定します。たとえば、 低レベルのソケットを開いて通信チャネルを作成します。

一般的なユースケース

Data Layer API は、フィットネスやメディアのユースケースに特に役立ちます。

フィットネス アプリ

Wear OS アプリからモバイルアプリのフィットネス アプリにエクササイズ データを送信する際、多くの場合、 ウォッチが収集したエクササイズ データをモバイルアプリや健康情報アプリに書き込む 接続。Data Layer API を使用してデータを転送する場合は、 メッセージ クライアント: Wear OS アプリからモバイルアプリにエクササイズ データを送信します。 必要があります。

自宅でのワークアウト中にライブデータをモバイル デバイスにストリーミングする

自宅でのワークアウトに関する一般的なシナリオとして、Wear OS から心拍数データをストリーミングする デバイスからモバイル デバイスに接続し、最新の心拍数情報をユーザーに表示します。 モバイル デバイスの画面に表示されます。このデータをストリーミングするには、チャネル クライアントを使用します。

メディアアプリ

画面スペースから一時停止、再開、開始、終了のアクションを通じてメディア プレーヤーを メッセージ クライアントを使用します。

コミュニケーション オプション

データは次のいずれかの方法で転送されます。

  1. 直接: デバイスとデバイス間で Bluetooth 接続が確立されている場合 Wear OS デバイスと別のデバイス。
  2. LTE や Wi-Fi などの利用可能なネットワーク経由: Google のサーバー上にあるネットワーク ノードを介して通信します。

すべてのデータレイヤ クライアントは、Bluetooth または (デバイスで利用できる接続に応じて異なります)データはあると仮定しましょう。 データレイヤを使用して送信されるデータには、どこかの時点で Google 所有のサーバーが使用される場合があります。

Bluetooth

デバイスが Bluetooth で接続されている場合、データレイヤーはこの接続を使用します。 デバイス間に標準の 1 つの暗号化されたチャネルがあります。 Bluetooth 暗号化(Google Play 開発者サービスにより管理)。

Cloud

Bluetooth が利用できない場合、データは自動的に 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 の上に複数のヘルパー ライブラリを提供します。 これには、2 つのネットワーク間の接続の確立に役立つデータレイヤー ライブラリが含まれています。 モバイルデバイスと Wear OS デバイスですさらに 便利な API や 次の操作を行います。

  • もう一方のデバイスにアプリをインストールします。
  • もう一方のデバイスでアプリを起動します。
  • もう一方のデバイスで特定のアクティビティを起動する。
  • コンパニオン アプリを起動します。

データレイヤーにアクセスする

Data Layer API を呼び出すには、Wearable クラスを使用して、 DataClientMessageClient などのさまざまなクライアント クラス。

詳しくは、DataLayer サンプルをご覧ください。

最低限のクライアントを使用する

クライアントを作成するには、次のサンプルコードをご覧ください。

Kotlin

val dataClient: DataClient = Wearable.getDataClient(context)

Java

DataClient dataClient = Wearable.getDataClient(context);

コンテキストには任意の有効な Android コンテキストを指定できます。Google Cloud 内で API を Activity のスコープを設定するには、WearablegetDataClient() メソッドを使用します。 クラスです。これにより、特定の操作をダイアログとして表示するのではなく、 通知(たとえば、Google Cloud のバージョンを更新するようユーザーに求められたときや、 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 リファレンスをご覧ください。

必要に応じてクライアント インスタンスを再作成する

Wearable API クライアント(DataClientMessageClient など)は、 低コストで作成できます。そのため、クライアントを保持するのではなく、状態ファイルを アプリに適したスタイルで作成してください。

クライアントの状態(登録済みのリスナーのセットなど)は、すべてのインスタンス間で共有されます。 更新中に Google Play 開発者サービスが更新されても保持される できます。