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
710
cookpadTV マルチモジュール化について/Multi modularization in cookpadTV
nshiba
1
6.4k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Facilitating Awesome Meetings
lara
57
7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
We Have a Design System, Now What?
morganepeng
55
8.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Automating Front-end Workflow
addyosmani
1370
210k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
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
おわり