メディアアプリを Wear OS に拡張する

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 には対応していない場合があります。エクササイズ中や通勤中の場合や、ユーザーがモバイル デバイスを自宅に置いたまま外出する場合など、不安定な接続やオフラインのユースケースも考慮して設計します。詳しくは、ダウンロードしたコンテンツの操作をご覧ください。

利用可能なネットワークでストリーミングする

スマートウォッチからストリーミングすることで、音楽、ポッドキャスト、ラジオ局を聴くことができますが、ストリーミングを行うとスマートウォッチのバッテリーが消耗することがあります。最近使用したダウンロードをブラウズリストに表示することで、ユーザーがスマートウォッチで聴くことを選択した場合に、ダウンロードしたコンテンツを優先します。次の画像に示すように、ダウンロードの全一覧にユーザーを誘導するボタンを追加することを検討してください。

オーディオ ライブラリのリストには、 オーディオ ライブラリのリスト(プレイリストやオーディオ ブックなど)

Wear OS 向け Compose でビルドする

Wear OS 向け Compose は Android Jetpack の一部であり、他の Wear Jetpack ライブラリと同様に、質の高いコードを短時間で作成できます。これは、Wear OS アプリのユーザー インターフェースを作成するための、Google が推奨するアプローチです。

モバイル デバイスの 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 スピーカーまたは 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 を構成し、パフォーマンスを向上させています。Network Awareness モジュールを使用すると、デベロッパーはネットワーク オペレーションをネットワーク タイプにマッピングできます。

進行中のメディア再生をユーザーに知らせ続ける

Wear OS 3 以降では、進行中の通知を Wear OS ユーザー インターフェース内の複数のサーフェスに表示できます。進行中のアクティビティの通知をタップすると、アプリでプレーヤー画面が開きます。

Media3 では、Wear OS がアプリを開くインテントを持つメディアアプリの進行中のアクティビティを自動的に作成します。これにより、ユーザーはメディアの再生などの長時間のアクティビティにさらに集中できるようになります。