Fire App Builder: A Starter Kit for Java-based Amazon Fire TV and Android Apps
Fire App Builder provides a Java-based framework that you can use to easily and quickly build streaming media Android apps for Amazon Fire TV.
Fire App Builder lets you build an engaging, high-quality media experience on Fire TV following best practices and techniques — without having to develop all the code yourself. Fire App Builder's code is Java-based and uses Android Studio, Gradle, and other tools common to Android app development.
Fire App Builder is released as an open source project on Github (github.com/amzn/fire-app-builder) under the Apache 2.0 license.
- How You Work with Fire App Builder
- Video Tutorials
- Sample App from Fire App Builder
- Who Fire App Builder Is For
- Requirements to Work with Fire App Builder
- Fire App Builder Features
- Changing the App's Appearance
- Naming Conventions for Fire TV Devices
- Getting Updates to the Project
- Support Options
- Bugs or Feature Requests
- Getting Started
How You Work with Fire App Builder
When you create an app with Fire App Builder, you configure the settings for your data feed, screen layouts, and functionality through a series of JSON files. You also construct query syntax to get the categories and contents from your media feed.
For authentication, ads, analytics, or in-app purchasing, you can use a variety of pluggable components that implement interfaces. To customize the look and feel of your app, including font, colors, logos, layouts, and other details, you simply update some values in XML or JSON files (rather than coding directly in Java).
Overall, Fire App Builder allows you to quickly develop a high quality app without doing Java programming. If you want to extend Fire App Builder with more advanced functionality, you can use Fire App Builder as the underlying framework and build on top of it, since most of Fire App Builder's components are modular.
See the following video tutorials for an introduction to working with Fire App Builder. This first video provides details on downloading and customizing the project:
The second video covers how to customize the feed for your video content:
Sample App from Fire App Builder
Fire App Builder contains a sample app (called "Application") with a home screen that looks as follows:
The sample app in Fire App Builder contains a generic video feed from Lightcast that is used for testing purposes only.
Who Fire App Builder Is For
Fire App Builder is designed for companies with streaming media assets (similar to Netflix or Hulu) who want to make their content available online through Fire TV and other Android TV platforms. You would be a good fit if you have a video feed where your media assets (movies, shows, or other video content) are published.
The media feed can be JSON or XML, but it must be its own feed rather than a Youtube or Vimeo channel. (If it's XML, it can be a media RSS feed, for example, such as what you submit to iTunes.) The feed can be in any structure — you'll use query syntax to select the categories and contents from your feed.
Additionally, Fire App Builder requires you to configure files using Android Studio, so it's geared toward developer types who prefer to create their app using Java-based Android (instead of HTML5 web technologies). You can also build on top of the Fire App Builder framework to create more sophisticated apps.
Requirements to Work with Fire App Builder
To develop with Fire App Builder, you will need the following:
- Android Studio. See Getting Started with Android Studio and Install Android Studio from the Android documentation for information about setting up the Android Studio development environment on your machine.
- Java Development Kit (JDK) 8. You must have the Java SE Development Kit 8 or later on your computer.
- Fire TV or Fire TV Stick. You will need to test your app on an actual Fire TV device — either the Fire TV or Fire TV Stick. (Although emulators are possible, they don't always work and aren't supported for Fire TV development.) The Fire TV has better performance, so if your media is resource intensive, you'll want to be sure it plays well on the Fire TV Stick too.
- Television with HDMI port. You will need a television with an HDMI port that your Fire TV can connect to.
- Media feed with necessary elements. You will need a media feed (in either JSON or XML format) with video assets as well as the following feed elements: title, ID, description, URL, card image, and background image. (The same image can be used for both the card and background.) Any video format supported by Exoplayer is compatible with Fire App Builder.
Fire App Builder Features
Fire App Builder provides the following features:
- Five screens: Splash screen, Home (two layouts), Content Details, Content Renderer, and Search.
- Search functionality and search results: Text search within your app. Also includes intent filters to integrate with the global Fire TV search if your media is integrated into the Amazon Catalog.
- Exoplayer-based Amazon media player for streaming media: The media player includes closed caption support (in-band and out-band), HTTP Live Streaming (HLS), bandwidth settings, and more.
- Components for ads, analytics, authorization, and in-app purchasing: More than 10 components that you can easily plug into your app and configure through XML files. Some of these components include Amazon in-app purchases, Login with Amazon, Facebook Login, Omniture Analytics, Flurry Analytics, Adobe Pass Authentication, Freewheel ads, and VAST 2.0 ads.
Changing the App's Appearance
When you build your app, you can customize the look and feel by changing colors, fonts, and images. To customize the images, you will need at least the following image assets: logo, splash screen logo, and app icon. More customization is possible, including the layout. See the topics in Customize the Appearance for details.
Naming Conventions for Fire TV Devices
To better understand Fire TV naming conventions and specifications across models, see Fire TV Device Specifications. In general, if your app plays well on a Fire TV Stick, it will play well on other Fire TV devices, too.
Getting Updates to the Project
You can get updates to the application by watching the Fire App Builder Github repository. See Fork and Clone Fire App Builder, then Add a Remote for more details.
If you have feedback or questions about Fire App Builder, you can get support through the Fire TV Amazon forums. If you have a specific issue with your account or app that is not appropriate to ask in the forums, you can use the Contact Us feature within the Developer Portal.
Bugs or Feature Requests
To get started building an app with Fire App Builder, see Beginning-to-End Process for Building an App with Fire App Builder, which lists various process maps needed to develop an app with Fire App Builder. The first process map is Get Set Up and looks like this:
Also, you can find any file in Android Studio by pressing Shift twice and then typing the file name. When you load the file, the path to the file appears just below the row of buttons on the top navigation bar.