Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts

Archive

Showing posts tagged with Amazon Fire TV

December 09, 2016

Mario Viviani

Providing the Details of the App Content through the DetailsFragment

In Part 1 of this series we analyzed the TV Interaction Model, based on three steps: Browsing for Content, Reading Description and Details, and Playing the Content. The first action, Browsing for Content, as we have seen in Part 3 of this series, is achieved through the BrowseFragment.

Now let’s see how we can provide information about a specific piece of content, following the second step of the user journey, Reading Description and Details. To do this we’ll use one of the main components of a Leanback-enabled project: the DetailsFragment.

The DetailsFragment

The DetailsFragment is displayed when the user selects a specific piece of content on the BrowseFragment. It contains information like Title, Subtitle, Description, and is accompanied by a preview of the content. It also contains Actions that we can prompt our user to perform.

One of the most important classes used in the DetailsFragment is DetailsOverViewRow. This class defines which content is displayed in the fragment (as seen in the previous episode, DetailsOverViewRow takes advantage of a Presenter, called DescriptionPresenter) and, most importantly, is responsible for defining the Actions that we can prompt our user to perform.

private void setupDetailsOverviewRow() {
    
    final DetailsOverviewRow row 
			= new DetailsOverviewRow(mSelectedMovie);
    ...
    row.setImageDrawable(R.drawable.default_background));
    row.addAction(new Action(ACTION_WATCH_TRAILER, 
				“Watch Trailer”, “FREE”)));
    
    mAdapter.add(row);
}

In the highlighted row we demonstrate how easy it is to add a specific Action to the DetailsFragment. Just by coding addAction() we can add a new Action for the user to perform. In this case we added the unique ID ACTION_WATCH_TRAILER, for the Action and two Strings Watch Trailer”, “FREEto define the text field of the button.

Once we have added this line, the Action will be displayed on the DetailsFragment.

By using Actions we can easily add IAP items like “Rent the Content”, “Buy”, or “Subscribe”. It is just a matter of attaching a Listener to the Actions to perform consequent tasks.

When we deploy a Leanback-enabled project, the only Action that is defined by default is the “Watch Trailer” that prompts the trailer of the content to play.

Stay tuned for Part 6: How to Play Video Content using the PlaybackOverlayFragment

In the next and final episode of this series we’ll show how to play the content, leverage the Remote Control, and how to show the on-screen controls using the PlaybackOverlayFragment.

Stay tuned!

Mario Viviani (@mariuxtheone)

 

December 02, 2016

Mario Viviani

Editing the user interface of a Leanback-enabled TV app through Presenters

In the previous episode of this series we discussed how to create the main interface of our Leanback-enabled project through the BrowseFragment. Now let’s take a closer look into the Presenter class. The Presenter class allows us to define the look and feel of our Leanback-enabled app without editing the underlying data structure. 

The Presenter class

The Leanback template we created was built following a custom version of the common development pattern, Model-view-controller (MVC), in which the Presenter class acts as the View. The Presenters are passed to the ArrayObjectAdapter as arguments and define how the content of the Adapter should be displayed

The Leanback approach provides a variety of predefined Presenters:

  • CardPresenter defines singular content
  • ListRowPresenter defines how various content in a row should be displayed and arranged
  • DetailsDescriptionPresenter defines the UI of the DetailsFragment

Implementing the Presenters are quite similar: they all follow the ViewHolder pattern and are mostly composed by Custom Views with methods to set the fields of the views. Let’s take a close look at the customizing the CardPresenter as an example:

[Read More]

November 29, 2016

Becky Young

Calling all Android Developers! With the streaming media device segment expected to reach 439.8 million by 2020*, now is the perfect time to bring your existing app or game to the living room. For developers, bringing your app to the 10-foot experience can help you increase your customer base by putting your app or game in front of millions of people who enjoy entertainment and may not have seen your content before.

Join Mario Viviani, Amazon Technology Evangelist and former GDE, for a FREE WEBINAR as he covers what’s needed to bring your media streaming app to the living room the easiest way possible.

We’ll show you how to create high performing Android Media Streaming apps in minutes using a new development tool Amazon has created: the Fire App Builder template for Android Apps for TV.

Join Mario on November 30th to learn:

  • How to easily connect a native Android app to video streaming services with just a few lines of code.
  • How to create high performing Android media streaming apps in minutes using the new App Builder Template for Android apps for TV.
  • How to create rich second screen experiences, using Amazon Fling to share media files from mobile apps to the big screen.

Reserve your spot today

Want to learn more? Register today to learn how make the right changes to increase the number of downloads your app is getting:

Register for 7:00am PDT (3:00pm GMT) on Wednesday, November 30, 2016

Register for 1:00pm PDT (9:00pm GMT) on Wednesday, November 30, 2016

*Global Streaming Media Device Market 2016-2020, Infiniti Research Limited

November 22, 2016

Jon Pulsipher

Mobile and living room devices today present a varied landscape for developers to consider. One aspect that is particularly meaningful for your customers is where your app installs itself. Some devices, like the current Fire tablets and Fire TV have external storage through memory card slots. Other devices, like Fire TV Stick or older Fire tablets have only their internal flash storage. Running out of storage when trying to install a new app can be very frustrating for people who want to use your app. This frustration is compounded for customers who have added a memory card with lots of empty space and still get an error message that the device is out of space when trying to install. That frustration can quickly find its way into negative reviews for your app.

Luckily, for most apps, Android provides a simple solution. By specifying the installLocation in the app manifest, you can provide your user community with the best experience possible for whatever device they own. This doesn't mean they'lll never run out of space, but it helps best manage the space they have.

 xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:theme="@android:style/Theme.NoTitleBar" package="com.examplecompany.myapp" platformBuildVersionCode="23" platformBuildVersionName="6.0-2704002">  android:name="android.permission.INTERNET"/> ¦ ¦

installLocation can be specified as any of the following:

[Read More]

October 21, 2016

Jon Pulsipher

Achievements unlocked!

Achievements and trophies are available on most platforms today and help build engagement with your players in a few ways. They capture “the moment” for the player when they accomplish something meaningful in the game. And over time, for some players (like the “Achievers” of the Bartle taxonomy) they form a scrapbook, or collection, of sorts that marks their experiences over a variety of games. Finally, they provide another storytelling tool that allows the game designer to guide the user through different approaches to playing the game and exploring the game world, perhaps in ways that might not be obvious—completing a level in a very short time, or only using a certain weapon. 

In our previous installment, we spent quite a bit of time working through setting up leaderboards for your game. Let’s build on that by adding GameCircle Achievements and give your players some goals to strive for.

[Read More]

October 07, 2016

Jon Pulsipher

So far in our Building Retroids series we’ve looked at detecting and handling controllers and remotes for your Amazon Fire TV game, implementing in-app purchasing to drive revenue, and how to leverage social features such as leaderboards and achievements with GameCircle. Today we are going to look at that how to implement some basic Whispersync for Games features to make your GameMaker: Studio game more convenient and fun for your players.

To the cloud!

Whispersync allows you to easily store information in the cloud—such as player progress and settings. This is convenient for your game customers who play on multiple devices or who, for whatever reason, might uninstall your game and then install it again later.

[Read More]

September 28, 2016

Peter Heinrich

Today Amazon announced the all-new Fire TV Stick with Alexa Voice Remote, the most powerful streaming media stick available. The next-generation Fire TV Stick is 30 percent faster than the original best-selling version, offers access to more than 300,000 movies and TV episodes, and includes the Alexa Voice Remote—for only $39.99. Now sporting a quad-core processor, it has the horsepower to let your high-performance apps and games shine.

We’re also optimizing the on-device experience for customers, making it easier for them to discover new content. The all-new Fire TV Stick offers new and upgraded features including, personalized recommendations, notifications and Alexa powered voice search that allows customers to launch apps and games by name using their voice. Engage new customers and expand your reach to the living room with Fire TV Stick. Submit your app now to make sure it’s available when the new Fire TV Stick ships on October, 20th.

[Read More]

September 23, 2016

Jon Pulsipher

Most mobile games today use some form of in-app purchasing (IAP) as part of their monetization strategy. Using Amazon IAP in GameMaker: Studio is not particularly difficult – once you know how to do it. But getting to that stage takes some careful study and experimentation. Hopefully, I can help short cut that process for you as I describe how I built it for Retroids.

Understanding in-app purchase basics

By now, I’m sure most of us are very familiar with IAP. There are three types of IAP items found in games—consumables, entitlements and subscriptions—with consumables and entitlements being far more common, so that is what we’ll cover here.

Consumable IAP items are things that are used, or consumed, during gameplay. Gold, gems, health, potions, etc. You might by a “Bag of 500 coins” and then use those coins to outfit your character, buy gas for a race car, etc.

Entitlement IAP items are things that are “unlocked” and continue to be available to the player forever after that point. Level packs or special items like a gun, sword or personalization items like a costume or theme pack are common entitlements.

One of the great things about IAP is that your game doesn’t have to deal with collecting the user payment information, authorizing and processing the payment, and all the other aspects of securely managing credit card information on your own. As you can imagine, users may be reluctant to enter their payment information separately in every game they are playing. You can rely on the Amazon Appstore to handle all those backend details and to provide a single place that customers already trust with their payment information.

On Amazon Appstore, as with other app stores, there are parts of the IAP that you configure on the server and parts that you code in the game. Each IAP item is referred to as a SKU (stock keeping unit, which is a legacy retail term for “an individual type of thing you are selling”). This includes the name of the SKU, the price and a few other pieces of metadata. The price that is configured in the Appstore is what the customer will be charged. Your game can’t change that at run time, but you can change it whenever you want—without requiring an app update—on the server.

[Read More]

September 16, 2016

Jon Pulsipher

Now that we have game controllers handled, let’s take a closer look at how to set up your Amazon Fire TV game for use with the Fire TV remote.

Using the Fire TV remote for game input

The Fire TV remote control is available with and without the microphone and voice search button, but since that is reserved for the system both remotes expose the same keys for use by apps.

D-pad and d-pad center button

The circular d-pad on the remote control is accessed in the same way as the game controller d-pad.

      if(gamepad_button_check(global.gamepad,gp_padu))
          {
                 // move up
          }

The select button in the center of the d-pad sends the vk_space keycode.

[Read More]

September 12, 2016

Mario Viviani

Part 3: Browsing the Content of a Leanback-Enabled Android App

In the previous episode of this series we discussed the anatomy of a Leanback-enabled Android App for Amazon Fire TV, discovering what its main components are and how they are tightly tied to the Media Streaming Interaction Model.

We’ll now take a close look into the first and most basic component of an Android App for Amazon Fire TV: the BrowseFragment.

The BrowseFragment

After we launch our freshly created TV Android App, built using the Android Studio App Wizard, we will encounter an interface that will look very similar to this:

[Read More]

September 09, 2016

Jon Pulsipher

Last week we covered some of the missing documentation in GameMaker with respect to Amazon Fire TV, detailing what you need to know about basic controller detection. This week, as we continue on my building Retroids journey, we will take a closer look at handling controllers.

A well behaved game should handle controllers coming and going during play. This covers cases where a controller loses connectivity due to range or interference, or if the batteries in the controller die while playing.

To accomplish this, the above code needs to be present in the actual game play rooms as well. This could be implemented in a single object that is used in all rooms of the game.

[Read More]

September 02, 2016

Jon Pulsipher

Last week I shared my decision—in the name of more fun games for the world— to make good use of my commute time and build a Amazon Fire TV and Fire Stick game using GameMaker: Studio.

The GameMaker documentation gives a general overview of supporting game controllers. Finding details on how game controller support works with Amazon Fire TV proved to be a little more difficult. In the next few posts in the series I will provide the missing information, focusing on:

  • Basic Controller Detection
  • Handling Controllers and Controls
  • Using the Amazon Fire TV Remote and Controller Selection

Let’s dive into basic controller detection.

Handling the game controller and remote control on Amazon Fire TV and Fire TV Stick

Using YoYo Games GameMaker: Studio to build PC games that use the keyboard or even a USB game controller is pretty easy and many developers choose to first get their game up and running on their PC. This offers the convenience of easy debugging and very fast edit-build-test cycles. When you want to move to a mobile device or a platform like Amazon Fire TV, however, you are going to have to invest some time to build in proper support for game controller detection.

[Read More]

August 26, 2016

Jon Pulsipher

It all started with a bus ride.

Not long ago, I was looking for a project to occupy my time on my bus commute to Seattle. I have experience with a variety of game engines and writing code doesn’t frighten me, but I wanted to use a new tool and get the entire learning experience. Enter YoYo Games’ GameMaker: Studio.

Jesse Freeman previously posted an overview of some of the frameworks available to make your game development for Amazon devices a lot easier. As many of you already know, game frameworks, also known as “engines”, do various amounts of the technical heavy lifting so you can focus on designing fun and engaging experiences for your players. After all, why should each of us write our own code to display and animate sprites, play sounds or handle the touch screen?

One of the engines Jesse covered was GameMaker: Studio. You can download it for free to check it out, as well as the 60-day trial of the Amazon Fire module to target your games for Amazon Fire tablets and Amazon Fire TV devices. GameMaker: Studio is fully cross-platform and other available modules allow you to target iOS, Linux and all game consoles.

If you are completely new to GameMaker, don’t fret! Shaun Spalding, YoYo Games’ Community Manager, has a great series of tutorials to get you going. That’s exactly where I started. You can get an idea what is possible (which is a lot!) by checking out the showcase of games built with GameMaker. I’ll save you the click and just tell you, “Yes, you can build awesome games with GameMaker!” Fast, beautiful games full of juicy particle-spewing, camera-shaking excitement that easily stand next to any other game. This is NOT some pared down prototyping tool or a drag-and-drop toy for kids. 

Of course, to do any of that, you have to have an idea and you need to be prepared to write some code. I have a soft spot for TV gaming, so my plan started with building an arcade-style space-shooter for Amazon Fire TV that could be played with a Fire TV game controller – mostly because that’s what I have at home and this began as just a side project for myself.

As I thought about it more, I realized that the world deserves more fun games, and darn it, they deserve MY fun game. To allow as many customers as possible to experience the excitement of my game, it would really be great if it was also playable on Fire TV Stick…with only the remote control. And of course it needed GameCircle achievements and leaderboards. To top it all off, I thought, “Hey, why not support playing on a touch screen too.”

Now I really had a challenge worthy of my long commute.

Over the next few parts, I’ll get into the hard-won details of how I built the remote and controller support, as well as GameCircle features in GameMaker: Studio, complete with sample code you can use in your own projects.

Don't miss the rest of the Building Retroids with GameMaker blog series!

Part 2: Basic Controller Detection

Part 3: Handling Controllers

August 10, 2016

Mario Viviani

Part 2: Anatomy of a Leanback-Enabled Android App for Amazon Fire TV

In the first part of this series we learned how easy is to create a new Android App for Amazon Fire TV and how to run it for the first time using the Android Studio Wizard for Leanback-Enabled apps in a matter of a few minutes.

We’ll now deep dive into what the main components of this app are and how they interact with each other.

 

Main Dependencies in a Leanback-Enabled Project

After we have created a new TV project using the Android Studio Wizard, we can notice that the wizard has automatically included some libraries in our project dependencies.

[Read More]

June 15, 2016

Mario Viviani

Part 1: Deploy a “Hello World” Media Streaming App on Fire TV in a Few Minutes

Android is no longer just for Mobile devices. Even if it started as an OS designed for smartphones, it evolved during time. In 2011 with Android 3.0 Honeycomb, specifically designed for tablets, Android scaled up to bigger screens, and this changed the way users engaged with mobile devices. Recently, Android scaled up to an ever bigger screen: the TV.

All of a sudden, Android developers can start thinking about building native Android apps for a new and exciting use case, the 10-foot experience, where users sit down, relax and engage with content specifically designed for their TV.

Amazon Fire TV and Fire TV Stick are Android devices

Amazon Fire OS, which animates all the most recent Amazon devices like Fire tablets, Amazon Fire TV and Amazon Fire TV Stick, is based on Android 5.0 Lollipop. This means that Fire OS is capable of running full-fledged Android apps: 85% of Android apps submitted to the Amazon Appstore just work! If your app relies on the Android framework APIs and related support libraries, there’s a high chance it can run on Fire OS. You can test your APK on our online App Testing Service and discover in 90 seconds if your app is compatible with Fire OS! When it comes to Fire TV, we wanted to make life of developers easy. That’s the reason we decided to fully support the Android Leanback Support library. This make extremely easy for Android developers to deploy native media streaming apps for TV.

Let’s discover how.

[Read More]

Want the latest?

appstore topics

Recent Posts

Archive