1

We have an app aimed at Android TV and it has been published live but it comes up as not being compatible with any device in the Google Play Store and I cannot find/install it on an Android TV device, I think Google has done something wrong but I'm getting nothing from them other than copy/paste responses.

The only thing they've said is that it doesn't contain the following :

   <uses-feature
        android:name="android.software.leanback"
        android:required="true" /> 

But it clearly does contain this code within the AndroidManifest.xml and in the correct place. I have compared this app to another similar app (which appears and works) and the manifest file is virtually identical.

Furthermore, the app runs fine in the Android TV emulator and to top it all off, within the Play Developer portal for the release, it says it is compatible with a ton of TV devices (including the one I am trying to test it on as a live app)!

I'm really stuck with this as everything seems to be correct, yet they are adamant via their copy/paste emails that the above leanback code is not present.

Here is my complete manifest code :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp">

    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
    <uses-feature
        android:name="android.software.leanback"
        android:required="true" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <application
        android:name=".GetMeRadioApplication"
        android:usesCleartextTraffic="true"
        android:allowBackup="true"
        android:banner="@mipmap/ic_launcher"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".ui.SplashActivity"
            android:banner="@mipmap/ic_launcher"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:logo="@drawable/ic_launcher"
            android:noHistory="true"
            android:screenOrientation="fullSensor">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.home.HomeActivity"
            android:screenOrientation="fullSensor"
            android:theme="@style/HomeCustomTitle">

        </activity>
        <activity
            android:name=".ui.grid.GridActivity"
            android:screenOrientation="fullSensor"
            android:theme="@style/GenreCustomTitle" />

        <activity
            android:name=".ui.search.SearchActivity"
            android:screenOrientation="fullSensor"
            android:theme="@style/CustomTitleBrowseSearch" />

        <activity
            android:name=".ui.player.PlayerActivity"
            android:screenOrientation="fullSensor" />
    </application>

</manifest>

Any ideas or suggestions on how to progress this? Thanks.

omega1
  • 1,031
  • 4
  • 21
  • 41

1 Answers1

1

The app won't show as available on TV devices until it has passed the manual review process.

The uses-feature parts of your manifest look correct, but it looks like you're using your app icon as the banner. This won't show up correctly in the ATV launcher, which may be why they're incorrectly calling out the leanback requirement. The banner should be an xhdpi resource with a size of 320 x 180 px. The app name as text must be included in the image. If your app is available in more than one language, you must provide separate versions of the banner with text for each supported language.

See https://developer.android.com/training/tv/start/start#banner for more info.

For the screenOrientation on TV, you should generally either leave it undefined or specify landscape. I'm not sure what impact (if any) setting it to full sensor has given that there isn't an accelerometer for the system to rely on.

Ian G. Clifton
  • 9,349
  • 2
  • 33
  • 34
  • Hi Ian, thanks for your reply. I finally found their response in my SPAM folder and it pretty much said what you've explained. Could you kindly clarify a couple of points? Firstly, for XHDPI, surely 320x180px is too small? If I use that resolution, it looks awful. I do not think the second item applies as the app name is actually in the images, and they made no reference to that. Can the image be greater than 320x180, such as 1920x1080? Thabks again, much appreciated. – omega1 Oct 29 '20 at 17:16
  • 1
    You shouldn't see any problems with it at 320x180 as that's the standard spec and the equivalent of 1/6th the screen for FHD. Larger sizes aren't officially supported (the launcher might scale or it could crop). – Ian G. Clifton Oct 30 '20 at 22:58
  • Thabks Ian, its all sorted now. You highlighted the issue about icon used as the banner and that ended up being the problem. The app is live now. Thabks for your help. – omega1 Oct 30 '20 at 23:03