Google Play 開発者サービスの一部である Wearable Data Layer API を使用すると、 ウェアラブル デバイス(スマートウォッチなど)と 接続されたハンドヘルド デバイス(通常はスマートフォン)Kubernetes は、 デバイス間でデータを転送できます。
注: この API は Wear OS スマートウォッチと ペア設定した Android デバイス。iOS スマートフォンとペア設定した Wear OS スマートウォッチの場合、アプリは次のことができます。 インターネット接続が利用可能な場合に、他のクラウドベースの API にクエリを実行する。詳細 詳しくは、 ネットワーク アクセスと同期: オン Wear OS。
注意: データレイヤー API は ハンドヘルドとウェアラブル間の通信に対応できます デバイス間の通信を設定します。たとえば、 低レベルのソケットを開いて通信チャネルを作成します。
一般的なユースケース
Data Layer API は、フィットネスやメディアのユースケースに特に役立ちます。
フィットネス アプリ
Wear OS アプリからモバイルアプリのフィットネス アプリにエクササイズ データを送信する際、多くの場合、 ウォッチが収集したエクササイズ データをモバイルアプリや健康情報アプリに書き込む 接続。Data Layer API を使用してデータを転送する場合は、 メッセージ クライアント: Wear OS アプリからモバイルアプリにエクササイズ データを送信します。 必要があります。
自宅でのワークアウト中にライブデータをモバイル デバイスにストリーミングする
ホーム ワークアウトの一般的なシナリオ: Wear OS から心拍数データをストリーミングする デバイスからモバイル デバイスに接続し、最新の心拍数情報をユーザーに表示します。 モバイル デバイスの画面に表示されます。このデータをストリーミングするには、チャネル クライアントを使用します。
メディアアプリ
画面スペースから一時停止、再開、開始、終了のアクションを通じてメディア プレーヤーを メッセージ クライアントを使用します。
コミュニケーション オプション
データは次のいずれかの方法で転送されます。
- 直接: デバイスとデバイス間で Bluetooth 接続が確立されている場合 Wear OS デバイスと別のデバイス。
- 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 には、次の依存関係があります。
- Google Play 開発者サービスの最新版
- Wear OS デバイスまたは Wear OS エミュレータ
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
クラスを使用して、
DataClient
や MessageClient
などのさまざまなクライアント クラス。
詳しくは、DataLayer サンプルをご覧ください。
最低限のクライアントを使用する
クライアントを作成するには、次のサンプルコードをご覧ください。
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
コンテキストには任意の有効な Android コンテキストを指定できます。Google Cloud 内で API を
Activity
のスコープを設定するには、Wearable
の getDataClient()
メソッドを使用します。
クラスです。これにより、特定の操作をダイアログとして表示するのではなく、
通知(たとえば、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 クライアント(DataClient
、MessageClient
など)は、
低コストで作成できます。そのため、クライアントを保持するのではなく、状態ファイルを
アプリに適したスタイルで作成してください。
クライアントの状態(登録済みのリスナーのセットなど)は、すべてのインスタンス間で共有されます。 更新中に Google Play 開発者サービスが更新されても保持される できます。