Fire TVͱ
Amazon͕ࣾఏڙ͢ΔTV͚ϓϥοτϑΥʔϜ
• Fire OS 5 (Based on Android 5.1 - API 22)
• Amazon App StoreʹTV͚ΞϓϦΛެ։Մೳ
(Appleࣾͱಉ͘͡ϦϦʔε͝ͱʹ৹ࠪ͋Γ)
• ࣗࣾσόΠεͷΈ
Slide 31
Slide 31 text
Fire TV - ओͳࡌσόΠε
Fire TV Stick
- Gen. 1
ʢAMAZONʣ
Fire TV
- Gen. 2
ʢAMAZONʣ
Fire TV Stick
- Gen. 2
ʢAMAZONʣ
201411݄ 201512݄ 20174݄
Fire OS 5
Dual-core
1GB RAM *1
8GB Storage
Fire OS 5
Quad-core
2GB RAM
8GB Storage
Fire OS 5
Quad-core
1GB RAM
8GB Storage
4,980ԁʗ6,480ԁ 11,980ԁ 4,980ԁ
*1: 512MB system, 512MB video
New
Slide 32
Slide 32 text
Fire TV - ϗʔϜը໘
Slide 33
Slide 33 text
Fire TV - ϗʔϜը໘
Slide 34
Slide 34 text
Fire TV - ϗʔϜը໘
Slide 35
Slide 35 text
Fire TV - ϗʔϜը໘
Slide 36
Slide 36 text
Fire TV - ϗʔϜը໘
Menu
Slide 37
Slide 37 text
Fire TV - ϗʔϜը໘
Rewind/Fast-forward
Slide 38
Slide 38 text
֓ཁ
• Android TVͱ
• Fire TVͱ
• σβΠϯͱUXΨΠυϥΠϯ
Slide 39
Slide 39 text
σβΠϯͱUXΨΠυϥΠϯ
• Designing for Android TV
https://goo.gl/VWrKs7
• Android TV Design Guidelines
https://goo.gl/Z7tSTj
• Design and User Experience Guidelines
for Fire TV
https://goo.gl/ZYgf7D
Slide 40
Slide 40 text
։ൃ
• جຊʢπʔϧɺϓϩδΣΫτɺetc..ʣ
• Leanback Support Libraryೖ
• Fire TVͰߟྀ͢Δ͖͜ͱ
Slide 41
Slide 41 text
جຊ - ։ൃπʔϧͱSDK
Android Studio + Android Emulator
• SDK tools: 24.0.0 or higher
• Minimum SDK: API 21 (Lollipop) or higher
Slide 42
Slide 42 text
جຊ - ։ൃπʔϧͱSDK
ADB over Wi-Fi <—> TVσόΠεʢ࣮ػʣ
adb connect :5555
• Using Android Debug Bridge for Android TV
https://goo.gl/BpSmm0
• Connecting to Fire TV Through ADB
https://goo.gl/tEsypE
جຊ - Input Eventͷ੍ޚ
Button KeyEvent
Voice Search -
Select KEYCODE_DPAD_CENTER
Left KEYCODE_DPAD_LEFT
Up KEYCODE_DPAD_UP
Right KEYCODE_DPAD_RIGHT
Down KEYCODE_DPAD_DOWN
Back KEYCODE_BACK
Menu KEYCODE_MENU
Home -
Play/Pause KEYCODE_MEDIA_PLAY_PAUSE
Rewind KEYCODE_MEDIA_REWIND
Fast Forward KEYCODE_MEDIA_FAST_FORWARD
Slide 67
Slide 67 text
։ൃ
• جຊʢπʔϧɺϓϩδΣΫτɺetc..ʣ
• Leanback Support Libraryೖ
• Fire TVͰߟྀ͢Δ͖͜ͱ
Leanback Support Library - Tips
PresenterʁͳʹͦΕʁඒຯ͍͠ͷʁ
A Presenter is used to generate Views and bind
Objects to them on demand. It is closely related to
the concept of an RecyclerView.Adapter, but is not
position-based.
(from API Reference)
View Presenter
Object
(Model)
Slide 90
Slide 90 text
Leanback Support Library - Tips
PresenterʁͳʹͦΕʁඒຯ͍͠ͷʁ
A Presenter is used to generate Views and bind
Objects to them on demand. It is closely related to
the concept of an RecyclerView.Adapter, but is not
position-based.
(from API Reference)
View Presenter
Object
(Model)
Model-View-Presenter (MVP)
Slide 91
Slide 91 text
Leanback Support Library - Tips
PresenterʁͳʹͦΕʁඒຯ͍͠ͷʁ
A Presenter is used to generate Views and bind
Objects to them on demand. It is closely related to
the concept of an RecyclerView.Adapter, but is not
position-based.
(from API Reference)
View Presenter
Object
(Model)
Model-View-Presenter (MVP)
RecyclerView with multiple view types
ΛAdapter͔Β࣮ͯ͠ݱ͢ΔΈ
ObjectAdapter (ArrayObjectAdapter)
public class RankingFragment extends VerticalGridFragment {
// Setup VerticalGridPresenter (Column: 1)
private ArrayObjectAdapter adapter;
@Override
protected onViewCreated(...) {
...
PresenterSelector ps = new RankingPresenterSelector();
adapter = new ArrayObjectAdapter(ps);
setAdapter(adapter);
// Load data.
}
private onLoaded(List rankingItems) {
adapter.addAll(0, rankingItems);
}
...
RecyclerView with multiple view types
ΛAdapter͔Β࣮ͯ͠ݱ͢ΔΈ
Slide 98
Slide 98 text
Leanback Support Library - Pros & Cons
• ϝσΟΞ࠶ੜίϯτϩʔϧը໘ͳͲࣗલͰ࡞
Δඞཁ͕ͳ͍
• FocusͷϑΟʔυόοΫʢεέʔϦϯάίϯ
τϥετͳͲʣ͕UIΟδΣοτʹΈࠐ·
Ε͍ͯΔͷͰɺྑ͠ͳʹͬͯ͘ΕΔ
Good :)
Slide 99
Slide 99 text
Leanback Support Library - Pros & Cons
Bad :(
• େͷσβΠφʔ͞ΜLeanbackͷUIͦͷ·
·ͰΑ͍ͱܾͯ͠ݴͬͯ͘Εͳ͍
• @HideɺPackage Privateɺfinalએݴ͕ඇৗʹ
ଟ͘ɺΧελϚΠζͷқߴΊ
Slide 100
Slide 100 text
Leanback Support Library - Pros & Cons
Bad :(
• େͷσβΠφʔ͞ΜLeanbackͷUIͦͷ·
·ͰΑ͍ͱܾͯ͠ݴͬͯ͘Εͳ͍
• @HideɺPackage Privateɺfinalએݴ͕ඇৗʹ
ଟ͘ɺΧελϚΠζͷқߴΊ
㱺RowsFragmentΛϕʔε͢Δͷ͕͓͢͢Ί
Slide 101
Slide 101 text
։ൃ
• جຊʢπʔϧɺϓϩδΣΫτɺetc..ʣ
• Leanback Support Libraryೖ
• Fire TVͰߟྀ͢Δ͖͜ͱ
Slide 102
Slide 102 text
FireTVͰߟྀ͢Δ͖͜ͱ
• How Fire TV Development Differs from
Android TV Development
https://goo.gl/kvjiaR
• Can you use Firebase on Amazon Android
devices?
https://goo.gl/Y3n4Al
• Identifying Amazon Fire TV Devices
https://goo.gl/fkhp4a
Slide 103
Slide 103 text
ެ։
• Android TV͚ʹΞϓϦΛ
• Fire TV͚ʹΞϓϦΛ
Slide 104
Slide 104 text
Android TV͚ʹΞϓϦΛ
Google Play Storeͷਃʹඞཁͳͷ
• TV͚ΨΠυϥΠϯʹద߹ͨ͠ΞϓϦ(.apk)
• TV༻ͷը૾Ξηοτ
• εΫϦʔϯγϣοτʢ1ຕҎ্ʣ
• όφʔը૾ʢ1280 x 720 pxʣ
Slide 105
Slide 105 text
Android TV͚ʹΞϓϦΛ
Google Play Storeͷਃʹඞཁͳͷ
• TV͚ΨΠυϥΠϯʹద߹ͨ͠ΞϓϦ(.apk)
• TV༻ͷը૾Ξηοτ
• εΫϦʔϯγϣοτʢ1ຕҎ্ʣ
• όφʔը૾ʢ1280 x 720 pxʣ
Slide 106
Slide 106 text
Android TV͚ʹΞϓϦΛ
Google Play Storeͷਃʹඞཁͳͷ
• TV͚ΨΠυϥΠϯʹద߹ͨ͠ΞϓϦ(.apk)
• TV༻ͷը૾Ξηοτ
• εΫϦʔϯγϣοτʢ1ຕҎ্ʣ
• όφʔը૾ʢ1280 x 720 pxʣ
Fire TV͚ʹΞϓϦΛ
Amazon App Storeͷਃʹඞཁͳͷ
• TV͚ΨΠυϥΠϯʹద߹ͨ͠ΞϓϦ(.apk)
• TV༻ͷը૾Ξηοτ(for Gen. 2)
• εΫϦʔϯγϣοτʢ3ຕҎ্ʣ
• όφʔը૾ʢ1280 x 720 pxʣ
• όοΫάϥϯυը૾ʢ1920 x 1080 pxʣ
Slide 113
Slide 113 text
Fire TV͚ʹΞϓϦΛ
Amazon App Storeͷਃʹඞཁͳͷ
• TV͚ΨΠυϥΠϯʹద߹ͨ͠ΞϓϦ(.apk)
• TV༻ͷը૾Ξηοτ(for Gen. 2)
• εΫϦʔϯγϣοτʢ3ຕҎ্ʣ
• όφʔը૾ʢ1280 x 720 pxʣ
• όοΫάϥϯυը૾ʢ1920 x 1080 pxʣ
Slide 114
Slide 114 text
Fire TV͚ʹΞϓϦΛ
Amazon App Storeͷਃʹඞཁͳͷ
• TV͚ΨΠυϥΠϯʹద߹ͨ͠ΞϓϦ(.apk)
• TV༻ͷը૾Ξηοτ(for Gen. 2)
• εΫϦʔϯγϣοτʢ3ຕҎ্ʣ
• όφʔը૾ʢ1280 x 720 pxʣ
• όοΫάϥϯυը૾ʢ1920 x 1080 pxʣ
Slide 115
Slide 115 text
Fire TV͚ʹΞϓϦΛ
Amazon Developer Console (Dashboard)
https://developer.amazon.com/home.html
Slide 116
Slide 116 text
Fire TV͚ʹΞϓϦΛ
Amazon Developer Console
Amazon Developer Console (App)
Slide 117
Slide 117 text
Fire TV͚ʹΞϓϦΛ
ը૾ΞηοτͱAPKΛΞοϓϩʔυ
Slide 118
Slide 118 text
Fire TV͚ʹΞϓϦΛ
४උ͕ͬͨΒਃͯͭ͠ɻ1ʙ5Ӧۀ..
Slide 119
Slide 119 text
Fire TV͚ʹΞϓϦΛ
LiveʹͳΕࣗಈతʹެ։
Slide 120
Slide 120 text
Fire TV͚ʹΞϓϦΛ
Slide 121
Slide 121 text
• Distribute to Android TV
https://goo.gl/kViUiV
TV App Quality
https://goo.gl/bGdFOi
• Submitting Your Fire TV App to the Amazon
Appstore
https://goo.gl/hDuuDH
ࢀߟϦϯΫू