Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FireTVことはじめ

Naoya Shibahara
August 21, 2018
4.8k

 FireTVことはじめ

Cookpad.apk #1

Naoya Shibahara

August 21, 2018
Tweet

Transcript

  1. 今日話すこと - FireTV / Android TV 向けアプリ開発の基本的なこと - Fire App

    Builder - Leanback Library - TV 向けアプリ開発で気をつけないといけないこと
  2. FireTV - Amazon から発売している TV 向け端末 - Apple TVなどが類似品 -

    現在は第3世代まで出ている - https://www.amazon.co.jp/gp/product/B01ETRGGYI/ - 中身の OS はほぼ Android - 第1, 2世代は Android 5.1 (Lollipop、APIレベル22) - 第3世代は Android 7.1 (Nougat、APIレベル25)
  3. FireTV - FireTV 向けアプリを作るにはだいたい2種類ある - 公式フレームワークの Fire App Builder を使う

    - https://developer.amazon.com/ja/docs/fire-app-builder/overview.html - https://github.com/amzn/fire-app-builder - Leanback Library を用いて普通に Android TV 開発 - https://developer.android.com/training/tv/ - https://github.com/googlesamples/androidtv-leanback
  4. Fire App Builder - Amazon 公式が配布してる FireTV 向けアプリを簡単につく れるフレームワーク -

    データの流れが複雑で少し扱いにくい - 使ってみた感想を一言でいうと、Android開発に慣れて無い 人向けのフレームワークかな、と感じた
  5. Fire App Builder 良い点 - 動画を配信できるAPIサーバがあれば、 メディアフィードという形式でレスポンスを返すAPIを作るだ けでアプリが作れる - +

    config ファイルをいじる - 大きくカスタマイズする必要がなければ、フレームワークで 用意されている Component に沿って実装するだけで良い
  6. Fire App Builder 悪い点 - config ファイルをいじるだけでいろいろ設定できるように実 装されているので構成が複雑 - ベースプロジェクトがでかいためビルドが長い

    - モジュールがたくさんあるが、使わないモジュールもあっ て無駄なコードがある - メンテがそんなにされてないっぽい
  7. google play services がない (FireTV) - google 系の api が使えない

    - 今回だめだったのは firebase-core が入らない問題
  8. urlFiles が1行目しか読み込まれない - Fire App Builder の仕様では、複数のメディアフィードを持っ てるなら urlFiles に複数の

    url を書くことができる。(としか書 かれてない) - https://developer.amazon.com/docs/fire-app-builder/load-media-feed .html#types-of-feeds - なので複数 url を書けば複数 url からデータを取得してくれ ると思った。
  9. - Android TV アプリの開発において Google のガイドライン の標準的な UI/UX を簡単に実現するライブラリ -

    https://developer.android.com/design/tv/ - https://developer.android.com/topic/libraries/support-library/features #v17-leanback - サンプルが公開されている - https://github.com/googlesamples/androidtv-leanback Leanback Library
  10. Leanback Library - Leanback Library の Fragment は MVP アーキテクチャを

    採用している - 大雑把に言うと以下のクラスを実装すると作れる - presenter - presenter selector (必要に応じて)
  11. タッチができないということを意識する - よくあるリストのスクロール等をそのまま作ると最悪 - Leanback Library の Fragment を使わずに作る場合で も、

    [Vertical | Horizontal]GridLayout というものが用意 されている - RecyclerView を継承して作られているので、 使い方はほぼ RecyclerView と同じ