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
- Sample App from Fire App Builder
- Who Fire App Builder Is For
- Requirements to Work with Fire App Builder
- Changing the App Appearance
- Fire App Builder Features
- Fire TV Terminology and Devices
- Naming Conventions for Fire TV Devices
- Getting Started
- Getting Updates to the Project
- Getting Support
- Noting Bugs or Feature Requests
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.
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. Essentially Fire App Builder is the Fire TV SDK for Android Java developers.
If you’re more of a content creator instead of a coder, or you just want to build a Fire TV app for your Youtube videos, or if you’re not comfortable working in Android Studio with code (even though no programming skills are required), consider using the Web App Starter Kit for Fire TV instead.
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. (Note that Fire TV does not come with an HDMI cable, so you will need to supply that cable to connect the Fire TV box to your TV.)
- Television with HDMI port. You will need a television with an HDMI port that your Fire TV can connect to.
- A-to-A USB cable. If you’re using Fire TV (not the stick) and connecting your computer to Fire TV through USB (instead of through a wireless network), you will need an A-to-A USB cable. Instead of using a cable, you can also connect to Fire TV devices through a network. (See Connecting to Fire TV Through ADB.)
- 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, 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.
Changing the App 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 Customize the Look and Feel of Your App for details.
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 Fire TV catalog.
- Exoplayer-based Amazon Media Player for streaming media: The media player includes closed captions (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.
Fire TV Terminology and Devices
Naming Conventions for Fire TV Devices
In this documentation, the following naming conventions are used with Fire TV devices:
- “Fire TV Edition”: Refers to the smart TV with Fire TV built into the TV hardware.
- “Fire TV Stick”: Refers to the stick version of Fire TV. Gen 2 refers to the 2016 version (the latest). Gen 1 refers to the 2014 version. On the Amazon.com retail site, the device’s official name is “Fire TV Stick with Alexa Voice Remote.”
- “Fire TV”: Refers to the set-up box version of Fire TV devices. Gen 2 refers to the 2015 release (the latest). Gen 1 refers to the 2014 release. On the Amazon.com retail site, the device’s official name is “Amazon Fire TV.”
- “Fire TV devices”: Refers to all versions/models of Fire TV devices (box, stick, tv).
You can compare the specifications across devices at Fire TV Device Specifications. The Fire TV has more power and faster performance, but the two devices run the same Fire OS and are more or less identical from an end-user’s perspective. Each device has two generations — Generation 2 is the latest.
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 the steps needed to develop an app with Fire App Builder.
As you follow the instructions in the documentation, note that it’s usually assumed that you’re working in the Android view in Android Studio. If you don’t see a certain folder or path, check the view you’re in.
Also, you can find any file by clicking 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.
Getting Updates to the Project
If you have feedback or questions about Fire App Builder, you can get support through the Fire TV Amazon forums.