Wear OS は、Android ユーザーが外出先でオーディオブック、音楽、ポッドキャスト、ラジオなどのさまざまな音声 コンテンツを利用できる優れたプラットフォームです。Wear OS by Google を使用すると、音声 コンテンツなど、ユーザーが接続を維持し、健康を維持し、自己表現できるさまざまなカテゴリのアプリを作成できます。
Android 向けに開発したことがある場合は、アプリや 通知などの機能に慣れているかもしれません。Wear OS 向けの開発を行う際には、 最新の Android 開発の知識を活用できます。
Wear OS 開発の原則
Wear OS は Android をベースにしているため、Android 向けのおすすめの方法の多くは Wear OS にも該当します。開発時間を短縮するには、Wear OS アプリの開発を開始する前に、これらの 原則を確認してください。
Wear OS でアプリを作成して実行する
まず、Wear OS アプリを実際に見てみることをおすすめします。Android Studio のテンプレートを使用して、Wear OS 用に初めてのアプリを作成できます。このアプリでは、Wear OS デバイスで情報を一目で確認できるさまざまな方法を示し、プラットフォーム上でアプリを開発するためのベスト プラクティスをいくつか紹介します。
詳しい手順については、Wear OS でアプリを作成して実行するをご覧ください。
Wear OS とモバイル開発の比較
モバイルアプリの設計方法と Wear OS アプリの設計方法にはいくつかの違いがあります。特定の機能、API、おすすめの方法が Wear OS アプリ開発と Android モバイル開発でどのように違うのかを確認するには、機能の表をご覧ください。
Wear OS のメディアアプリの一般的なユースケース
Wear OS でメディアアプリを作成すると、ユーザーはスマートウォッチからダウンロードしたコンテンツをストリーミングして再生できます。最高のユーザー エクスペリエンスを提供するには、Wear OS デバイスで特に効果的な次のメディア ユースケースの実装を検討してください。
ダウンロードしたコンテンツを再生する
ユーザーは、ネットワーク接続がなくてもワークアウト中にコンテンツを聴くことができます。Wear OS デバイスは一般的に Bluetooth と Wi-Fi に対応していますが、LTE には対応していない場合があります。エクササイズ中や通勤中の場合や、ユーザーがモバイル デバイスを自宅に置いたまま外出する場合など、不安定な接続やオフラインのユースケースも考慮して設計します。 詳細については、ダウンロードしたコンテンツを操作するをご覧ください。
利用可能なネットワークでストリーミングする
ユーザーはスマートウォッチからストリーミングして音楽、ポッドキャスト、ラジオ局を聴くことができますが、ストリーミングするとスマートウォッチのバッテリーが消耗する可能性があります。最近使用したダウンロードをブラウジング リストに表示することにより、ユーザーがスマートウォッチで聞く際にダウンロード済みのコンテンツを優先させます。次の図に示すように、ダウンロードの完全なリストに移動するボタンを追加することを検討してください。
図 1.音声ライブラリのリストに [ダウンロード] が含まれている
図 2.再生リストやオーディオブックなど、音声ライブラリのリスト
Wear OS 向け Compose でビルドする
Wear OS 向け Compose は Android Jetpack の一部であり、他の Wear Jetpack ライブラリと同様に、質の高いコードを短時間で作成できます。これは、Wear OS アプリのユーザー インターフェースを作成するための、 Google's おすすめの方法です。
モバイル デバイス向け Jetpack Compose の開発原則の多くは、Wear OS 向け Compose にも当てはまります。ただし、いくつか重要な違いがあります。Wear OS 向け Compose でビルドする際は、ユーザーがスマートウォッチでメディアに簡単かつ迅速にアクセスできるアプリを設計することが重要です。スマートウォッチは、ユーザーがスマートフォンやタブレットよりも操作する時間がはるかに短いため、操作のしやすさと速度が優先される独自のサーフェスです。
宣言型 UI フレームワークの一般的なメリットについて詳しくは、 Compose を導入する理由をご覧ください。Jetpack Compose ツールキットの使用に慣れていない場合は、Compose のパスウェイをご覧ください。Wear OS 向け Compose の詳細については、 Wear OS 向け Compose のパスウェイと GitHub の Wear OS サンプル リポジトリをご覧ください。
Wear OS メディア ツールキット
Wear OS メディア ツールキットは、Wear OS 向けの高品質なメディアアプリの開発を 加速させるライブラリのセットです。このツールキット は Horologist プロジェクトの一部です。Horologist は、アプリ開発を加速させる追加のライブラリです。
このツールキットでは、Wear OS 向け Compose で実装された UI から、Media3 を使用して実装された再生機能まで、メディア ユースケースに最適なライブラリを使用します。アプリに固有の要件がある場合は、既存のプレーヤーを引き続き使用しながら、ツールキットから UI 実装を採用できます。
メディア ツールキットは、スマートウォッチの内蔵スピーカーでのメディアの再生を回避する、音声オフロードを有効にする、ネットワークへの不要な ping を回避するなどの課題を解決するのに役立ちます。
メディアアプリを設計するでは、Horologist で実装するガイダンスと、 Wear OS のアーキテクチャとユースケースに関する情報を提供します。
Wear OS で期待されるユーザー エクスペリエンスを作成する
Wear OS でメディアアプリを作成する場合は、特に次の点について、スマートウォッチとモバイル デバイスでユーザー エクスペリエンスがどのように異なるかを考慮してください。
- 内蔵スピーカーは音楽再生用に設計されていません。そのため、Bluetooth スピーカーまたはヘッドフォンを使用してください。
- ネットワーク接続は制限されているか、または変動するため、さまざまなネットワーク条件に合わせてアプリを最適化し、ネットワークの使用を最小限に抑える必要があります。
- バッテリーが小さいため、電力が限られています。デバイスがメイン CPU で音声処理を実行する場合や、デバイスの LTE 信号が弱い場合は、バッテリーの消耗が速くなります。電力消費を抑えるために、音声オフロードのサポートを追加してください。
- デバイスには、ユーザーがアプリを再利用できるようにするための UI サーフェスがいくつか用意されています。これらのサーフェスでアプリの機能をアピールしてください。
Bluetooth スピーカーまたはヘッドフォンを使用する
スマートウォッチのスピーカーは通話やガイド付きアクティビティに使用できますが、メディア コンテンツを聴くには最適なエクスペリエンスを提供できません。
最適なユーザー エクスペリエンスを提供するために、アプリは Media Toolkit を使用して、Bluetooth ヘッドフォン またはスピーカーがスマートウォッチに接続されている場合に音声が再生されるようにすることができます。
メディア ツールキットには、特定の Media3 拡張機能が用意されており、 ExoPlayer インスタンスを装飾し、音が出る前に誤った再生を事前に停止します。
ネットワーク条件に合わせて最適化する
メディアアプリがスマートウォッチで適切に動作するには、次のストリーミングに関する考慮事項とネットワーク条件について選択する必要があります。
- ストリーミングに低いビットレート( 48 kbps など)とコーデック(AAC、MP3 など)を選択して、コンテンツを最適化します。
- 一時的に接続が切断された場合でも再生を継続できるように、画像とトラックのプリフェッチ戦略を最適化します。
- すべてのネットワーク構成(Wi-Fi、LTE、Bluetooth を使用してスマートフォンに接続されたスマートウォッチ)でアプリをテストします。また、スマートウォッチがネットワークを切り替えた場合の動作もテストします。
Wear OS メディア ツールキットは、パフォーマンスの高いアプリの基盤を構築するのに役立ちます。 たとえば、特定のオペレーションに適した接続を選択するネットワーク認識モジュールを提供します。
音声オフロードを有効にする
Wear OS のアプリのパフォーマンスを向上させ、電力消費を抑えるには、
音声オフロードを使用します。これにより、音声処理を CPU から専用の信号プロセッサにオフロードできます。メディア ツールキットはサポート
を AudioOffloadManager で提供します。
特定の音声形式で音声オフロードがサポートされているかどうかわからない場合は、
AudioManager.isOffloadedPlaybackSupported() メソッドを使用します。詳細については、ExoPlayer のドキュメントをご覧ください。
特別な理由がない限り、ネットワーク接続を回避する
Wear OS 向けに開発する場合、ユーザーのネットワーク接続は制限される可能性があります。MediaDownloadService を使用すると、 ユーザーは信頼性が高く、パフォーマンスの高いダウンロードを利用できるため、外出先でメディアを再生できます。
このツールキットを使用すると、Media3 の DownloadManager と AndroidX WorkManager を使用してダウンロードをスケジュールすることで、メディアのダウンロードをより効率的に最適化できます。
Media3 は、必要な通知とフォアグラウンド サービスをすべて開始します。サンプルアプリのコードでは、Wi-Fi 接続が利用可能な場合にダウンロードを実行するように WorkManager を構成して、パフォーマンスを向上させています。ネットワーク認識モジュールを使用すると、デベロッパーはネットワーク オペレーションをネットワーク タイプにマッピングできます。
進行中のメディア再生をユーザーに知らせる
Wear OS 3 以降では、進行中の通知を Wear OS のユーザー インターフェース内の複数のサーフェスに表示できます。進行中のアクティビティ通知 をタップすると、アプリのプレーヤー画面が開きます。
Media3 を使用すると、Wear OS はアプリを開くインテントを使用して、メディアアプリの 進行中のアクティビティを自動的に作成します。これにより、ユーザーはメディア 再生などの長時間のアクティビティにさらに 集中できるようになります。