メディアアプリを 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 メディア ツールキット

The Wear OS media toolkitは、Wear OS 向けの高品質なメディアアプリの開発を加速するライブラリの セットです。このツールキットは Horologistプロジェクトの一部です。 Horologist は、アプリ開発を加速するのに役立つ追加のライブラリです。

このツールキットでは、Wear OS 向け Compose で実装された UI から Media3 を使用して実装された再生機能まで、メディア ユースケースに最適なライブラリを使用します。 アプリに固有の要件がある場合は、既存のプレーヤーに依存しながら、ツールキットから UI 実装を採用できます。

メディア ツールキットは、スマートウォッチの内蔵スピーカーでのメディア再生の回避 、音声オフロードの有効化 、不要なネットワークへの ping の回避などの課題を解決するのに役立ちます。

メディアアプリの設計では、Horologist で実装する ガイダンスと、Wear OS の アーキテクチャとユースケースに関する情報を提供します。

Wear OS 固有の課題に対するベスト プラクティス

Wear OS でメディアアプリを作成する場合は、特に次の点について、スマートウォッチとモバイル デバイスでユーザー エクスペリエンスがどのように異なるかを考慮してください。

  • 内蔵スピーカーは音楽再生用に設計されていません。そのため、Bluetooth スピーカーまたはヘッドフォンを使用してください。
  • ネットワーク接続は制限されているか、または変動するため、さまざまなネットワーク条件に合わせてアプリを最適化し、ネットワークの使用を最小限に抑える必要があります。
  • バッテリーが小さいため、電力は限られています。デバイスがメイン CPU で音声処理を実行する場合や、デバイスの LTE 信号が弱い場合は、バッテリーの消耗が速くなります。電力消費を抑えるために、音声オフロードのサポートを追加してください。
  • デバイスには、ユーザーがアプリを再利用できるようにするための UI サーフェスがいくつか用意されています。これらのサーフェスでアプリの機能をアピールしてください。

Bluetooth スピーカーまたはヘッドフォンを使用する

スマートウォッチのスピーカーは通話やガイド付きアクティビティに使用できますが、メディア コンテンツの視聴には最適ではありません。

最適なユーザー エクスペリエンスを提供するため、アプリは メディア ツールキット を使用して、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 はアプリを開くインテントを使用して、メディアアプリの 進行中のアクティビティ を自動的に作成します。これにより、ユーザーはメディア再生などの長時間のアクティビティにさらに 集中できるようになります。