Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FireTVことはじめ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoya Shibahara
August 21, 2018
5.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FireTVことはじめ
Cookpad.apk #1
Naoya Shibahara
August 21, 2018
More Decks by Naoya Shibahara
See All by Naoya Shibahara
WorkManager のすすめ / Recommendation of WorkManager
nshiba
0
1.2k
storeLive をスーパーで 動かし続けるためにやったこと/What we did to keep storeLive running at supermarkets
nshiba
0
720
cookpadTV マルチモジュール化について/Multi modularization in cookpadTV
nshiba
1
6.4k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
890
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Navigating Team Friction
lara
192
16k
Docker and Python
trallard
47
3.9k
Speed Design
sergeychernyshev
33
1.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Building Applications with DynamoDB
mza
96
7.1k
Embracing the Ebb and Flow
colly
88
5.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
640
From π to Pie charts
rasagy
0
230
Transcript
FireTV ことはじめ Cookpad.apk #1 2018-08-21
自己紹介 - 柴原 直也 - メディアプロダクト開発部 - 2018新卒入社 - Twitter:
梨原 @nshiba310
今日話すこと - FireTV / Android TV 向けアプリ開発の基本的なこと - Fire App
Builder - Leanback Library - TV 向けアプリ開発で気をつけないといけないこと
Fire TV
None
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)
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
Fire App Builder
Fire App Builder - Amazon 公式が配布してる FireTV 向けアプリを簡単につく れるフレームワーク -
データの流れが複雑で少し扱いにくい - 使ってみた感想を一言でいうと、Android開発に慣れて無い 人向けのフレームワークかな、と感じた
Introduce Fire App Builder
None
重要なのは この2つ
None
None
None
None
None
None
Fire App Builder 良い点 - 動画を配信できるAPIサーバがあれば、 メディアフィードという形式でレスポンスを返すAPIを作るだ けでアプリが作れる - +
config ファイルをいじる - 大きくカスタマイズする必要がなければ、フレームワークで 用意されている Component に沿って実装するだけで良い
Fire App Builder 悪い点 - config ファイルをいじるだけでいろいろ設定できるように実 装されているので構成が複雑 - ベースプロジェクトがでかいためビルドが長い
- モジュールがたくさんあるが、使わないモジュールもあっ て無駄なコードがある - メンテがそんなにされてないっぽい
Fire App Builder ハマりポイント
google play services がない (FireTV)
google play services がない (FireTV) - google 系の api が使えない
- 今回だめだったのは firebase-core が入らない問題
urlFiles が1行目しか読み込まれない - Fire App Builder の仕様では、複数のメディアフィードを持っ てるなら urlFiles に複数の
url を書くことができる。(としか書 かれてない) - https://developer.amazon.com/docs/fire-app-builder/load-media-feed .html#types-of-feeds - なので複数 url を書けば複数 url からデータを取得してくれ ると思った。
urlFiles が1行目しか読み込まれない
None
None
None
なぜかドキュメントに書かれてない
Leanback Library
- 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
- 基本的な UI は Fragment が用意されていて、それを継承し て作っていく Leanback Library
https://github.com/googlesamples/androidtv-leanback#screenshots
Leanback Library - Leanback Library の Fragment は MVP アーキテクチャを
採用している - 大雑把に言うと以下のクラスを実装すると作れる - presenter - presenter selector (必要に応じて)
None
None
None
None
None
TV向けアプリで気をつけること
TVにはオーバースキャンエリアが存在する - TVにはディスプレイの端っこに時間を表示したり、そもそも クリッピングされている場合がある - そのため、だいたい 10% マージンを確保してそこには基本 的にコンテンツを置かないようにしたほうが良い -
https://developer.android.com/training/tv/start/layouts?hl=ja#oversc an - https://developer.amazon.com/ja/docs/fire-tv/system-xray-developer- tools.html#safezone
タッチができないということを意識する - TVは基本的にタッチはできなくてコントローラーで操作を行 う。 - そのため、通常のアプリ開発とは違って今何処にフォーカス があるのかをちゃんと分かるように作る必要がある
タッチができないということを意識する - よくあるリストのスクロール等をそのまま作ると最悪 - Leanback Library の Fragment を使わずに作る場合で も、
[Vertical | Horizontal]GridLayout というものが用意 されている - RecyclerView を継承して作られているので、 使い方はほぼ RecyclerView と同じ
雑感
雑感 - Androidエンジニアは普通に leanback library で作ったほう が良さそう - 公式のドキュメントとサンプル見ればだいたい作れる -
https://developer.android.com/training/tv/ - https://github.com/googlesamples/androidtv-leanb ack
おわり