TV アプリは、スマートフォンやタブレット向けのアプリと同じ構造を使用します。この類似性により、 TV デバイスでも実行できるように既存のアプリを変更したり、既存のアプリに基づいて新しいアプリを作成したりする 詳しく学びます。
重要: Google Play で Android TV アプリとして認められる。詳細については、次をご覧ください。 テレビアプリの品質。
このガイドでは、TV アプリを構築するための開発環境の準備方法と、 TV デバイスでアプリを実行するために最低限必要な変更
TV 向けアプリの設計について詳しくは、Android TV 向けにデザインする テレビ。また、 Android TV の GitHub リポジトリ。
メディア形式のサポートについて判断する
コーデック、プロトコル、形式については、次のドキュメントをご覧ください。 次のとおりです。
TV プロジェクトをセットアップする
このセクションでは、テレビ プロジェクトの設定方法について説明します。 既存の Android アプリを TV デバイス向けに変更したり、アプリを作成したりする 新しいテレビアプリ既存の Android アプリがある場合は、Android TV のサポートを追加することで 既存のアプリ アーキテクチャを再利用しながら、TV 向けのユーザー インターフェースを構築できます。
TV デバイス向けのアプリを作成する際は、次の 2 つの主要コンポーネントを使用します。
- TV のアクティビティ: アプリ マニフェストで、以下のように設定します。 TV デバイスで実行することを目的としたアクティビティを宣言する。
- TV ライブラリ: 必要に応じて、1 つ以上の androidx ライブラリ テレビデバイスで利用可能なモデルについては、このガイドの別のセクションに記載しています。 これらのライブラリでは、ユーザー インターフェースを作成するためのウィジェットが提供されます。
前提条件
TV 向けアプリの作成を開始する前に、以下のことを行う必要があります。
-
SDK Tools をバージョン 24.0.0 以降に更新します。
更新された SDK Tools を使用して、TV 向けアプリを構築、テストできます。 - SDK を Android 5.0(API 21)以降で更新します。
更新されたプラットフォーム バージョンでは、TV アプリ用の新しい API が提供されます。 -
アプリ プロジェクトを作成または更新します。
TV デバイス用の新しい API にアクセスするには、プロジェクトを作成するか、既存の Android 5.0(API レベル 21)以降をターゲットとするプロジェクト。
TV のアクティビティを宣言する
TV デバイス向けのアプリでは、TV 用のランチャー アクティビティを宣言する必要がある
あります。CATEGORY_LEANBACK_LAUNCHER インテントを使用する
フィルタします。このフィルタは、アプリがテレビに対応していることを識別して、
Google Play で TV アプリとして識別されます。ユーザーがテレビのホーム画面で
アプリを選択すると
このインテントは起動するアクティビティを識別します。
次のコード スニペットに、マニフェストにインテント フィルタを含める方法を示します。
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.android.TvActivity" android:label="@string/app_name" android:theme="@style/Theme.Leanback"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> </application>
この例の 2 番目のアクティビティのマニフェスト エントリは、それがアクティビティを実行することを指定しています。 テレビデバイスで起動します
注意: URL に
インテント フィルタ CATEGORY_LEANBACK_LAUNCHER 個
TV デバイスで Google Play を実行しているユーザーには表示されません。また、
デベロッパー ツールを使用してテレビデバイスに読み込む場合、アプリにはこのフィルタが表示されません。
テレビのユーザー インターフェースに表示されません。
TV アプリのユーザー インターフェース、または既存のアプリの TV 部分では、簡単に操作できるシンプルなインターフェースを提供する必要があります 3 メートル離れた場所からでも操作できます。テレビ用に既存のアプリを変更する場合は、同じアプリを使用しないでください。 アクティビティ レイアウトを作成します。TV 向けアプリを設計する際のガイドラインについては、TV 向けデザインをご覧ください。
TV デバイスのサポートを宣言する
次のように宣言して、アプリが Android TV 向けであることを宣言します。
android.software.leanback 機能。
アプリがモバイルとテレビの両方で動作する場合は、required 属性値を
false。required 属性値を true に設定すると、次のようになります。
Google Play により、アプリは Android TV OS でのみ利用可能になります。
<manifest> <uses-feature android:name="android.software.leanback" android:required="false" /> ... </manifest>
タッチスクリーンの不要を宣言する
TV デバイス向けに開発されたアプリは、入力にタッチスクリーンに依存しません。
これを明確にするために、TV アプリのマニフェストで
android.hardware.touchscreen 機能は必要ありません。この設定により、アプリが
お客様のアプリがテレビデバイスで動作するため、Google
プレイする。次のコード例は、このマニフェスト宣言を含める方法を示しています。
<manifest> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> ... </manifest>
注意: アプリのマニフェストで、タッチスクリーンが必須ではないことを宣言する必要があります。 必要があります。それ以外の場合、アプリはテレビの Google Play に表示されません できます。
ホーム画面にアイコンとバナーを提供する
Android TV アプリでは、ローカライズごとにホーム画面のアイコンとバナー画像の両方を提供する必要があります。 Android TV デバイスに応じて、アイコンまたはバナーのいずれかがアプリの起動として使用されます。 ホーム画面のアプリとゲームの行に表示されるポイントです。
これらをアプリに追加するには、マニフェストにアイコンとバナーを次のように記述します。
<application ... android:icon="@mipmap/ic_launcher" android:banner="@drawable/banner" > ... </application>
ホーム画面アイコン
すべての Android アプリと同様に、Android TV アプリにはホーム画面アイコンが必要です。ベストプラクティスとして アプリの最適なリリース ポイントと詳細なアセット要件を判断するには、 Android TV アプリのアイコンとバナー ガイドラインをご覧ください。
ホーム画面バナー
android:banner を使用する
<application> を持つ属性
すべてのアクティビティにデフォルトのバナーを指定するか、
<activity>
特定のアクティビティにバナーを提供します。
バナーには、320 × 180 ピクセルの xhdpi リソースを使用してください。テキストは 説明します。アプリが複数の言語に対応している場合は、そのアプリの個別のバージョンを用意する必要があります。 サポートされている言語ごとにテキストが入ったバナー
ランチャーの色を変更する
注意: Android 12 以降では、
SplashScreen プラットフォーム API は、Android TV アプリではサポートされていません。
TV アプリが起動すると、塗りつぶしを拡大したようなアニメーションが表示されます。
クリックします。このアニメーションの色をカスタマイズするには、android:colorPrimary を設定します。
属性を特定の色にマッピングできます。また、2 つ目の
次のスニペットに示すように、重複属性を true に移行する
テーマリソース XML ファイル:
<resources> <style ... > <item name="android:colorPrimary">@color/primary</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> </style> </resources>
テーマとスタイルの使用について詳しくは、 スタイルとテーマ。
Android TV OS 用のアプリを作成する
Jetpack には、TV アプリで使用する androidx パッケージ ライブラリが含まれています。
テレビ向け Compose
Compose は、Android TV OS 向けのアプリを作成するためのおすすめの方法です。Compose の中核機能 Compose for TV ライブラリには、アプリ用に特別に設計された専用コンポーネントが 大画面:
Compose for TV を使用して TV アプリを作成する方法については、Android TV で Jetpack Compose を使用するをご覧ください。
Leanback UI ツールキット
Leanback UI ツールキットには、TV デバイス向けの API とユーザー インターフェース ウィジェットが用意されています。
androidx.leanback.appandroidx.leanback.databaseandroidx.leanback.graphicsandroidx.leanback.mediaandroidx.leanback.preferenceandroidx.leanback.systemandroidx.leanback.widgetandroidx.leanback.widget.picker
Leanback UI ツールキットを使用して TV アプリを作成する方法については、 TV 再生アプリを作成する。
TV アプリを実行する
アプリの実行は開発プロセスの重要部分です。アプリは USB デバッグをサポートするか、仮想 TV デバイスを使用するように設定されたテレビデバイス。
実機で実行する
次のように TV デバイスを設定します。
- USB ケーブルを使って TV デバイスを開発用 PC に接続します。必要に応じて お使いのデバイス メーカーが提供するマニュアルをご覧ください。
- TV デバイスで、[Settings] に移動します。
- [デバイス] 行で [デバイス情報] を選択します。
- [Build] までスクロールし、メッセージが表示されるまで [Build] を数回選択します。 「開発者向けオプションが有効になりました。」
- [設定] に戻ります。[設定] 行で [開発者向けオプション] を選択します。
- [Debugging > USB debugging] を選択し、[On] を選択します。
- TV のホーム画面に戻ります。
TV デバイスでアプリケーションをテストするには:
- Android Studio でプロジェクトを選択し、
実行
クリックします。 - [Select Deployment Target] ウィンドウで、次の操作を行います。 テレビデバイスを選択して [OK] をクリックします。
仮想デバイス上で実行する
Android の AVD Manager SDK が提供するデバイス定義を使用して、実行中および 説明します。
仮想 TV デバイスを作成するには:
- AVD Manager を起動します。詳細については、次をご覧ください: 仮想デバイスを作成して管理する。
- [AVD Manager] ダイアログで [Device Definitions] タブをクリックします。
- Android TV のいずれかのデバイス定義を選択し、[Create AVD] をクリックします。
- エミュレータのオプションを選択し、[OK] をクリックして AVD を作成します。
注: TV エミュレータ デバイスのパフォーマンスを最大限に高めるには、x86 エミュレータを使用してください [Use Host GPU] オプションを有効にします。次の場合は仮想デバイス アクセラレーションも使用します できます。エミュレータのハードウェア アクセラレーションについて詳しくは、以下をご覧ください。 アプリのハードウェア アクセラレーションを Android Emulator:
仮想 TV デバイス上でアプリをテストするには:
- Android Studio でプロジェクトを選択し、
実行
クリックします。 - [Select Deployment Target] ウィンドウで、次の操作を行います。 仮想 TV デバイスを選択して [OK] をクリックします。
エミュレータの使用方法の詳細については、 Android Emulator でアプリを実行する。Android Studio から仮想環境へのアプリのデプロイについて詳しくは、 アプリをデバッグするをご覧ください。
TV アプリを Instant エクスペリエンスとして実行できるようにする
Instant エクスペリエンス: ユーザーが簡単に操作できます を導入することで、導入を促進することができます。
Android TV デバイスまたはエミュレータで Instant App として実行するように TV アプリを設定するには: まず画面の指示に従って Instant 対応 App Bundle を作成してください。
次に、TV アプリの intent-filter
MainActivity の場合は、LAUNCHER と
LEANBACK_LAUNCHER は AndroidManifest.xml で宣言します。
<activity android:name="com.example.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity>
これで、TV アプリが Instant 版として動作するように設定されました。
公開する TV アプリを準備する
TV アプリのチェックリストで次のステップを確認します。 を使用して、公開と配信用の TV アプリを準備します。