Amazon Fire TV向けのLeanback対応Androidアプリ


Amazon Fire TV向けのLeanback対応Androidアプリ

最終更新日:2016年8月

Android Studioウィザードを使用して新しいTVプロジェクトを作成すると、プロジェクトの依存関係にいくつかのライブラリが自動的に追加されます。

build.gradleファイルは次のようになります。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:leanback-v17:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.github.bumptech.glide:glide:3.4.+'
}

それぞれのライブラリが、Leanback対応プロジェクトで果たす重要な役割について説明します。

  • Leanback: 標準のAndroidサポートライブラリであるv17 Leanback Support Libraryは、TVアプリの開発の簡素化に役立つAPIとウィジェットを提供します。Leanback対応プロジェクトで使用するほとんどのコンポーネントは、このライブラリに含まれています。
  • RecyclerView: RecyclerViewクラスを提供するライブラリです。このクラスは、ビューをリサイクルし、パフォーマンスを向上させ、メモリを節約して、大規模なデータセットを効率的に表示するために使用されます。Leanback Libraryの多くのコンポーネントは、RecyclerViewに依存しています。RecyclerViewは、Androidで非常に一般的なプログラミングパターンであるViewholderパターンを実装しています。これは、テレビ向けの開発で重要となります(ViewHolderの詳細についてはこちら(英語のみ)を参照してください)。
  • AppCompat: AppCompatライブラリの主な目的は、Androidの複数のバージョンにわたってAPI、ウィジェット、およびツールを提供することです。Androidアプリを複数のデバイスで提供できると使い勝手が向上します。特に、ハンドヘルドデバイスとテレビの両方で単一の.apkバイナリファイルでアプリをリリースする場合に便利です。
  • Glide: Android用の効率的なオープンソースの、メディア管理と画像読み込みのフレームワークです。クラウドから画像を効率的にデコード、ダウンロード、適用することができます。Leanback対応アプリの一部のコンポーネントで使用され、サムネイルや画像を効率的に取得して、TVアプリでコンテンツのプレビューを表示します。

これらのコンポーネントはすべて、ユーザーにとって確実で一貫性のあるテレビ視聴エクスペリエンスを構築するための主な要素です。

メインストリーミングアプリのインタラクションモデル

メディアストリーミングアプリを使用する際のユーザー行動は、主に次の3つの手順で構成されます。

メディアストリーミングアプリを使用する際のユーザー行動。
  1. コンテンツを閲覧する: ユーザーは、メディアのメインカタログで興味のあるコンテンツを探します。
  2. 説明と詳細情報を読む: 興味のあるコンテンツが見つかると、そのコンテンツの説明や詳細情報を読んで、視聴するかどうかを判断します。
  3. 再生する: 視聴するコンテンツが決まったら、そのコンテンツの再生を開始します。

Leanback対応Androidアプリの主要コンポーネント

Leanback対応Androidアプリは、このインタラクションモデルをベースにしています。実際、Leanback対応アプリの3つの主要コンポーネントは、メディアストリーミングアプリのインタラクションモデルの3つの主な手順と同じです。

Leanback対応アプリの3つの主要コンポーネント
  1. BrowseFragment: メインアプリカタログ内のコンテンツを閲覧できます。
  2. DetailsFragment: BrowseFragmentで選択したコンテンツの詳細情報にアクセスし、「コンテンツの再生」などのアクションを実行できます。
  3. PlaybackOverlayFragment: このフラグメントを使用すると、フルスクリーンのメディアプレーヤー上にメディアコントロールをオーバーレイできます。

メディアストリーミングアプリのインタラクションモデルと1:1で対応することで、プロジェクト構造の一貫性が維持され、アプリの設計と開発プロセスを簡素化できます。

Leanbackアプローチで提供されるような明確に定義されたアプリ構造を使用すると、オンボーディングプロセスが簡単になります。これは、同様のパターンに基づいて構築されたメディアストリーミングアプリを、ユーザーが既に操作している可能性が高いためです。