【Google for Mobile】F9 AndroidアプリをAndroid TVへ配信するには
概要&感想
- Android TVの対応の仕方・コツ紹介
- 評価:3
- 作ってるアプリ上あまり縁がなさそうだけど、対応楽そう
- 対応のさせ方は公式みればいい
セッション情報
- 江川 崇 様
- Google Developer Expert
初めに
- 今あるアプリを少し変えればAndroidTV対応アプリが作れてしまう
- 世の中にはたくさんのAndroidTV端末が出ている
- 一つのapkでandroid / androidTV対応できる
- multiple apk?で分けることもできる
TV bannerの追加
- TVランチャーからアプリケーションを開くことが可能になる
- アプリバナーはアプリケーションの起動ポイント隣ユーザーがアプリを直接操作可能になる
バナーの制約
- 320 x 180px xhdpiリソース
- アプリ名が読めるようにすること(各国語分)
AndroidManifest.xml
android:banner="@drawable/my_app_banner" android:isGame="true" // ゲームの場合はtrueにする
- ゲームとそれ以外のアプリが別々のカテゴリとして表示される
起動Activityの定義
<category android:name="android.intent.category.LEANBACK_LAUNCHER">
これをつけることによってテレビ用のACtivityをつけることができる
ハードウェア要件
manifest
<use-features android:name="android.hardware.touchscreen" android:required="false" />
- パーミッション設定による暗黙的なハードウェア欲求雨
- オーディオ
- カメラ
- ...
- falseを設定しないと使うことが前提になってしまう
D-Padサポート
- 方向キー
- フォーカスは方向キーによって縦横に遷移する
- 何かしらのオブジェクトにフォーカスを渡しておく必要がある
- 幾つかのViewはエフォルトではフォーカスを受け取らないようになっている
- ImageView,textView,LinearLayoutなど
- プログラムでやりたい時は
nextViewFocus()
を渡してあげる
オーバースキャンの考慮
- 1080p Screen Resolution
- オーバースキャン:必ず描画するとは限らない領域
- これを想定して描画する必要がある
- 公式としては周囲5%としている
- 写真撮った
- LeanBackLibraryを使えばいい感じにやってくれる
Unity Support
- 対応方法が載っているコードラボがある
- オライリーで本出る
- 「UnityによるVRアプリケーション開発」
- DayDreamの事も書かれてる
Leanback Library
BrouseFragment
- 全てのコンテンツを一箇所にまとめた画面
DetailsFragment
- コンテンツの詳細を表示する画面
PlaybackOverkayFragment
- 画面にオーバーレイされるフラグメントで、プレイヤーの操作ができる
SearchFragment
- 音声の検索を提供するコンポーネント
- 文字の入力がとても困難なので音声の入力は重宝される
- ユニバーサルサーチ
- マイクタップでグローバル検索を可能
- ContentProviderを実装することでサーチを許可する
android:exproted="true"
- 他にも何かtrueにするらしい
おすすめ
自分のアプリから何をおすすめするべきか
- 次のコンテンツ
- 新しいコンテンツ
- 関連コンテンツ
使いたい場合
build.gradle
にleanback
とreccomendation
をcompileで指定
APKの配信
- スマホやタブレットと大きく違う点として、TVのアプリはレビューが必要になる
- これが通らないとリリースできない
- コンソールの
Distribute your app on Android TV.
にチェックをつけることでレビューが行われる