[Android] How to setup the TV Banner ?

Hello. I’m porting a game to Android TV.
No issues with input or performance. Android TV requires a Banner.
Right now the Android template doesn’t have a slot for the Banner.

The banner should be like the icons, but it must be set on the Manifest
This Banner icon should be: 320 x 180px

In this case how can we setup the banner icon ?

image

Ok I finally setup the required stuff to publish for Android TV.
First we must setup the Adaptive Foreground and Background Icons on the Editor, probably we should setup this icons if you target for both mobile and TV.

Ok First we must install the Android Build templates.
image

After install the build templates we must manually setup the Android Studio Project. I’m sure some steps here could be improve by making little updates to the Build pipeline.

After the Install is completed.
We will have a
“res://android” folder.
That is where the android project is install.
So the Android Studio project is here
“YouAmazingGodot4Game\android\build”

You need to open that folder with Android Studio.


You can see the build folder already have an icon of the green robot.
Basically we are just going to setup the Icon using Android Studio for now we cannot do this on the Godot Editor.

Go to the res folder right click and select new Image asset.

After a new window show Change The Icon Type to
TV Banners


Here you should setup you images files.
Right now the template even create an almost ready icon.
The Banner Icon also have Background and foreground.
This is important the icon should display the application name.
And we can decorate some image for the game.

The Name of the game should be visible.
You need to check this from the Icons guideline.

The last step is to change the Android Manifest
You will need to add a new line to setup the banner.
image

That all for the Banner setup.
We still need to make more changes for the release.

Like setup leanback features.

    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
    <uses-feature android:name="android.hardware.faketouch" android:required="false"/>
    <uses-feature android:name="android.hardware.gamepad" android:required="false"/>
    <uses-feature android:name="android.hardware.location" android:required="false"/>
    <uses-feature android:name="android.hardware.wifi" android:required="false"/>
    
    <!-- Features specific to Android TV -->
    <uses-feature android:name="android.software.leanback" android:required="false"/>
type or paste code here

And you will need a new Activity start for the Android TV devices.

        <activity
            android:name=".GodotAppTV"
            android:label="@string/godot_project_name_string"
            android:theme="@style/GodotAppSplashTheme"
            android:launchMode="singleInstancePerTask"
            android:excludeFromRecents="false"
            android:exported="true"
            android:screenOrientation="landscape"
            android:configChanges="orientation|keyboardHidden|screenSize|smallestScreenSize|density|keyboard|navigation|screenLayout|uiMode"
            android:resizeableActivity="false"
            tools:ignore="UnusedAttribute" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>

I really wish we can improve this steps.
The issue here is that we change the Godot version and we need to change the 
Android templates we have to repeat these same steps.
type or paste code here