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