How can we help?

Building and Submitting an Android TV App Follow

This article details the steps you should follow when building and submitting an Android TV application using Zype's template. Steps 1-14 can be followed when building an Amazon Fire TV application, whereas Steps 15 and beyond relate specifically to building an Android TV application.

 

Table of Contents

Building the AFTV / Android TV App

Packaging the App

Additional Configuration Steps Required for Android TV platform

Submitting to Google Play Store

 

Building the AFTV / Android TV App from the Template

1. Create a folder for a project.

2. Clone the https://github.com/zype/zype-firebuilder repo.

Captura_de_Pantalla_2020-12-17_a_la_s__17.18.02.png

Captura_de_Pantalla_2020-12-17_a_la_s__17.18.16.png

Warning! Do not open the project on this prompt. Select “Cancel” for now:

Captura_de_Pantalla_2020-12-17_a_la_s__17.42.41.png

 

3. Open Application folder inside your project path as an existing Android Studio project:

Captura_de_Pantalla_2020-12-17_a_la_s__17.45.06.png

Captura_de_Pantalla_2020-12-17_a_la_s__17.45.32.png

 

4. Make sure that “templateDebug” build variant is selected for the “app” module:

Captura_de_Pantalla_2020-12-17_a_la_s__17.51.20.png

 

5. Update app settings in the Application/ZypeAPI/src/main/java/com/zype/fire/api/ZypeSettings.java file.

The following values are required:

   // Zype app key
   public static final String APP_KEY = "";
   // OAuth credentials
   public static final String CLIENT_ID = "";
   // Playlist
    public static final String ROOT_PLAYLIST_ID = "";

You can get these values from your Zype account.

 

Note! Do not change the following values:

    public static final String FAVORITES_PLAYLIST_ID = "Favorites";
   public static final String MY_LIBRARY_PLAYLIST_ID = "MyLibrary";
   public static final String ROOT_FAVORITES_PLAYLIST_ID = "RootFavorites";
   public static final String ROOT_MY_LIBRARY_PLAYLIST_ID = "RootMyLibrary";
   public static final String ROOT_SLIDERS_PLAYLIST_ID = "RootSliders";
    public static final String TEMPLATE_VERSION = "1.8.0";

 

6. Update application id in the  Application/app/build.gradle file.

   productFlavors {
       zype {
       }
       template {
            applicationId "<APPLICATION_ID>"
       }
    }

This value identifies your app on the device and in the marketplace. This must be unique and usually is following com.yourdomain.aftv pattern.

 

7. Set the application name.

Set the app name in the Application/app/src/template/res/values/strings.xml file:

   <string name="app_name"><APP_NAME></string>

Also this value need to be set in the following files:

Application/app/src/template/res/values-en/strings.xml 
Application/app/src/template/res/values-de/strings.xml
Application/app/src/template/res/values-ja/strings.xml

Set the short app name in the Application/app/src/template/res/values/strings.xml file:

   <string translatable="false" name="app_name_short"><APP_NAME_SHORT></string>

 

8. Set your brand color.

Set your brand color in the Application/app/src/template/res/values/custom.xml file:

   <color name="accent"><BRAND_COLOR></color>

 

9. Add your company logo image.

Add the following image file Application/app/src/template/res/drawable/logo_company.png.

This image is displayed on the splash screen and on the content browse screen in the top left corner.

The image dimensions should be approximately 356x108 px and have a transparent background.

 

10. Add your application icon.

Add a set of icon image files in required dimensions:

Application/app/src/template/res/mipmap-mdpi/ic_launcher.png 
Application/app/src/template/res/mipmap-hdpi/ic_launcher.png
Application/app/src/template/res/mipmap-xhdpi/ic_launcher.png
Application/app/src/template/res/mipmap-xxhdpi/ic_launcher.png

You can use the icon generator in Android Studio to produce icons with required dimensions from 512x512 px source icon image.

 

11. Confirm the theme is set correctly (dark or light).

The app uses a dark theme by default with black / dark grey screen background and white text color.

 

To set the light appearance, set the following feature flag in the Application/ZypeAPI/src/main/java/com/zype/fire/api/ZypeSettings.java file:

   public static final boolean LIGHT_THEME = true;

 

Also update the following values in the Application/app/src/template/res/values/custom.xml file:

   <!-- The background color of the screens. -->
    <color name="background">#FFFFFF</color>
   <!-- Used for card background -->
    <color name="card_background">#FFFFFF</color>
  <!-- Color of splash screen spinning loader animation -->
    <color name="spinner_color">#FF000000</color>
  <!-- Used for the text of a selected item's title and description.
        Also used for button text, Splash screen text, and read more dialog text. -->
    <color name="primary_text">#E6000000</color>
   <!-- Used for the text on the card views and playback progress bar text. -->
    <color name="secondary_text">#99000000</color>
   <!-- Used for the category titles and content subtitles -->
    <color name="tertiary_text">#99000000</color>
   <color name="search_edit_text_bg_color">#4D000000</color>
   <color name="search_edit_text_bg_color_unfocused">#1A000000</color>

 

Packaging the App

12. Generate an APK file:

Captura_de_Pantalla_2020-12-18_a_la_s__10.54.44.png

 

Captura_de_Pantalla_2020-12-18_a_la_s__10.55.14.png

 

13. Sign the APK.

Use your existing key to sign the app or create a new one, if you are creating the app for the first time:

Captura_de_Pantalla_2020-12-18_a_la_s__11.22.59.png

Note! Keep the keystore file and its passwords in the safe place. To be able to update the app in the store in future, you must use the same key to sign the app that was used for signing the initially published APK. 

 

14. Finish building the APK.

Choose templateRelease build variant when building the APK to be published in the app store.

Captura_de_Pantalla_2020-12-18_a_la_s__11.25.27.png

 

Additional Configuration Steps Required for Android TV

To be able to submit the app for Android TV platform in Google Play Store you should make the following changes in the source code:

 

15. Google Play in-app purchasing is currently not supported in the template, so the following monetization options, that depend on in-app purchases, should be turned off:

    public static final boolean MARKETPLACE_CONNECT_SVOD = false;
    public static final boolean NATIVE_SUBSCRIPTION_ENABLED = false;
    public static final boolean NATIVE_TVOD = false;

 

16. In the\Application\app\build.gradle file make sure that targetSdkVersion value is set to 29.

 

17. Add an application banner image.

Switch project view from ‘Android’ to ‘Project’ in Android Studio:

Captura_de_Pantalla_2020-12-18_a_la_s__11.28.29.png

Find \Application\app\src\template\res in the project tree:

Captura_de_Pantalla_2020-12-18_a_la_s__11.30.43.png

If you don’t have a drawable-xhdpi folder inside the \res, you need to create it.

Right click on the \res folder and select ‘New’ -> ‘Directory’ in the context menu:

Captura_de_Pantalla_2020-12-18_a_la_s__11.32.23.png

In the ‘New Directory’ dialog enter ‘drawable-xhdpi’ name and click ‘OK’:

Captura_de_Pantalla_2020-12-18_a_la_s__11.32.37.png

The \app\src\template\res\drawable-xhdpi folder will appear in the project tree:

Captura_de_Pantalla_2020-12-18_a_la_s__11.32.51.png

Copy your banner.png image file into this folder. 

 

This image appears on the TV’s home screen in the apps and games rows. The image size must be 320x180 px. 

Captura_de_Pantalla_2020-12-18_a_la_s__11.35.55.png

You can check out this guide for more information on banner image: https://developer.android.com/training/tv/start/start#banner

 

Submitting to Google Play Store

To publish an Android TV app to Google Play Store you follow the typical process of publishing Android apps.

Additionally, you have to upload images specific to Android TV to the “Graphic assets” section:

 

1. Add a minimum of 2 screenshots in the “ANDROID TV“ tab of “Screenshots” section:

Captura_de_Pantalla_2020-12-18_a_la_s__11.38.24.png

2. Add a “TV Banner” 1280x720 px image: 

Captura_de_Pantalla_2020-12-18_a_la_s__11.38.41.png

It is used as the app’s icon on the TV device:

Captura_de_Pantalla_2020-12-18_a_la_s__11.39.05.png

3. You are now ready for submission!

Comments

Please sign in to leave a comment.