Fire App Builder: A Toolkit for Building Fire TV Apps
If you’re planning to build a media-based app for Amazon Fire TV, Amazon provides an Android project called Fire App Builder that can help accelerate the development of your app. Fire App Builder is intended for Android developers building native apps using Android and Java.
Fire App Builder Overview
Fire App Builder, available on Github here, provides a Java-based framework that you can use to easily and quickly build streaming media Android apps for Amazon Fire TV. In contrast to the HTML5/CSS3/JS used with Amazon Creator, Fire App Builder uses Java Android code.
With Fire App Builder, you work in Android Studio, connect to your Amazon Fire TV device through Android Debug Bridge (adb), and generate an APK (Android Package Kit) file to upload to the Amazon Appstore.
Although Fire App Builder uses Android APIs (particularly the Leanback Library), you do much of the configuration and customization through JSON and XML files. For example, through JSON and XML files, you can configure more than a dozen components to add to your app. Components provide out-of-the-box functionality for analytics, ads, authorization, purchasing, and media players.
Fire App Builder minimizes a dependence on Java expertise as much as possible, but for more deep-level integration, you can build on top of Fire App Builder. You can add your own custom Java classes to extend functionality through common interfaces and other code. (If you don’t care to do any custom Java programming, though, you don’t have to.)
With Fire App Builder, your media feed can be JSON or XML, in any structure using any tag names. When you configure Fire App Builder, you’ll write query syntax (using JSON Jayway syntax or XPath expressions) to target the various elements of your feed.
Your feed can also require tokens for media protected by DRM. Support for YouTube-based feeds and other video hosting services is on the roadmap but not currently included.
You have a lot of control to adjust the colors, layout, typography, and more — all by editing XML or JSON files where these settings have been extracted.
Here’s a screenshot of a sample app built using Fire App Builder:
A more compressed homepage layout is also available.
The following table lists the features available in Fire App Builder. Note that if Fire App Builder doesn’t have a feature, it doesn’t mean the framework won’t support it. It just means the feature isn’t already integrated in the code. Usually, you can insert the third-party code needed into Fire App Builder to support these services.
|Category||Feature||Fire App Builder|
|Feed Formats||JSON feeds|
|Media RSS XML Feeds|
|Custom XML Feeds|
|App Delivery Options||Installed as APK on device|
|Hosted app directly from URL|
|Media Types||HLS, DASH, Smooth Streaming, MP4|
|Media Players||Amazon Media Player|
|Authentication||Login with Amazon|
|Ad Services||Freewheel Ads|
|Global Catalog Search||Integration into the Amazon Catalog for global voice search.|
Transitioning from Web Apps to Android Apps
Some companies prefer to start out with a web app and later transition to a Java Android app (such as with Fire App Builder). Note that when you submit an app to the Appstore, you select the app type (whether web app or Android app).
After you submit an app, you can't transition from one app type to another (not yet anyway — app-type conversion is on the roadmap). If you start out with a web app and want to upload a new version that is a native Android app, you can't do this. You will need to upload a separate app entirely, which means losing any existing users and metrics.
If you're planning to make the transition from a web app to a native app (such as Fire App Builder), consider using Cordova with your web app. Cordova allows you to wrap your web app as an APK and submit the web app as an Android app. If you later decide to switch to a native app, you can publish a new version of your app in the Appstore.