Erste Schritte mit TV-Apps

TV-Apps haben dieselbe Struktur wie Apps für Smartphones und Tablets. Durch diese Ähnlichkeit kannst du deine vorhandenen Apps so anpassen, dass sie auch auf Fernsehgeräten ausgeführt werden können, oder anhand dessen, was du bereits über das Erstellen von Apps für Android weißt, neue Apps erstellen kannst.

Wichtig:Deine App muss bestimmte Anforderungen erfüllen, um bei Google Play als Android TV-App zugelassen zu werden. Weitere Informationen findest du in den Anforderungen unter Qualitätsrichtlinien für TV-Apps.

In diesem Leitfaden wird beschrieben, wie du deine Entwicklungsumgebung auf die Erstellung von TV-Apps vorbereiten und welche Mindeständerungen erforderlich sind, damit eine App auf TV-Geräten ausgeführt werden kann.

Informationen zum Entwerfen von Apps für das TV findest du unter Design für das TV-Gerät. Sehen Sie sich auch die Beispiel-Apps im GitHub-Repository für Android TV an.

Unterstützung von Medienformaten bestimmen

In der folgenden Dokumentation findest du Informationen zu den von Android TV unterstützten Codecs, Protokollen und Formaten:

TV-Projekt einrichten

In diesem Abschnitt wird erläutert, wie Sie ein TV-Projekt einrichten, unabhängig davon, ob Sie eine vorhandene Android-App so anpassen, dass sie auf Fernsehgeräten ausgeführt wird, oder eine neue TV-App erstellen. Wenn Sie bereits eine Android-App haben und Android TV-Unterstützung hinzufügen, können Sie eine Benutzeroberfläche für Fernseher entwerfen und dabei Ihre vorhandene App-Architektur wiederverwenden.

Beim Erstellen einer App für Fernsehgeräte gibt es zwei Hauptkomponenten:

  • TV-Aktivität: Gib in deinem App-Manifest eine Aktivität an, die auf TV-Geräten ausgeführt werden soll.
  • TV-Bibliotheken: Fügen Sie optional eine oder mehrere der für TV-Geräte verfügbaren androidx-Bibliotheken hinzu, die in einem anderen Abschnitt dieses Leitfadens aufgeführt sind. Diese Bibliotheken bieten Widgets zum Erstellen von Benutzeroberflächen.

Voraussetzungen

Bevor du eine App für Fernseher erstellen kannst, musst du die folgenden Schritte ausführen:

  • Aktualisiere deine SDK-Tools auf Version 24.0.0 oder höher.
    Mit den aktualisierten SDK-Tools kannst du Apps für den Fernseher erstellen und testen.
  • Aktualisiere dein SDK mit Android 5.0 (API 21) oder höher.
    Die aktualisierte Plattformversion bietet neue APIs für TV-Apps.
  • Anwendungsprojekt erstellen oder aktualisieren
    Wenn du auf neue APIs für TV-Geräte zugreifen möchtest, erstelle ein Projekt oder ändere ein vorhandenes Projekt, das auf Android 5.0 (API-Level 21) oder höher ausgerichtet ist.

TV-Aktivität deklarieren

Für eine App, die auf TV-Geräten ausgeführt werden soll, muss in der Manifest-Datei eine Launcher-Aktivität für das Fernsehen deklariert sein. Dazu wird der Intent-Filter CATEGORY_LEANBACK_LAUNCHER verwendet. Durch diesen Filter wird deine App als für TV aktiviert identifiziert und Google Play kann sie als TV-App erkennen. Wenn ein Nutzer deine App auf dem Startbildschirm des Fernsehers auswählt, bestimmt dieser Intent, welche Aktivität gestartet werden soll.

Das folgende Code-Snippet zeigt, wie Sie diesen Intent-Filter in Ihr Manifest einbinden:

<application
  android:banner="@drawable/banner" >
  ...
  <activity
    android:name="com.example.android.MainActivity"
    android:label="@string/app_name" >

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

  <activity
    android:name="com.example.android.TvActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.Leanback">

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

  </activity>
</application>

Der zweite Eintrag des Aktivitätsmanifests in diesem Beispiel gibt an, dass die Aktivität auf einem TV-Gerät gestartet werden soll.

Achtung:Wenn du den Intent-Filter CATEGORY_LEANBACK_LAUNCHER nicht in deine App aufnimmst, ist er für Nutzer, die Google Play auf Fernsehern ausführen, nicht sichtbar. Falls Ihre App diesen Filter nicht hat und Sie sie mithilfe von Entwicklertools auf ein Fernsehgerät laden, wird die App auch nicht auf der Benutzeroberfläche des Fernsehers angezeigt.

Die Benutzeroberfläche Ihrer TV-App oder der TV-Teil Ihrer vorhandenen App muss eine einfache Oberfläche bieten, damit Sie sich mit einer Fernbedienung aus einer Entfernung von 3 Metern leicht bedienen können. Wenn du eine bestehende App für die Verwendung auf dem Fernseher änderst, verwende für den Fernseher nicht dasselbe Aktivitätslayout wie für Smartphones und Tablets. Richtlinien zum Entwerfen einer App für das TV finden Sie unter Design für das TV-Gerät. Weitere Informationen zu den Mindestanforderungen an die Implementierung von Schnittstellenlayouts auf Fernsehern findest du unter TV-Layouts erstellen.

Unterstützung für TV-Geräte deklarieren

Deklariere, dass deine App für Android TV entwickelt wurde, indem du die Funktion android.software.leanback deklarieren.

Wenn deine App sowohl auf Mobilgeräten als auch auf Fernsehern ausgeführt werden kann, setze den Attributwert required auf false. Wenn du den Attributwert required auf true setzt, stellt Google Play deine App nur unter Android TV zur Verfügung.

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

Touchscreen als nicht erforderlich erklären

Bei Apps, die auf TV-Geräten ausgeführt werden sollen, sind für die Eingabe keine Touchscreens erforderlich. Zur Klarstellung: Im Manifest deiner TV-App muss deklariert sein, dass die Funktion android.hardware.touchscreen nicht erforderlich ist. Mit dieser Einstellung wird festgelegt, dass deine App auf einem Fernseher funktioniert. Sie ist erforderlich, damit deine App bei Google Play als TV-App eingestuft wird. Das folgende Codebeispiel zeigt, wie diese Manifestdeklaration eingebunden wird:

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

Achtung:In deinem App-Manifest musst du angeben, dass ein Touchscreen nicht erforderlich ist, wie in diesem Beispielcode gezeigt. Andernfalls wird deine App nicht bei Google Play auf Fernsehern angezeigt.

Gib ein Symbol und ein Banner für den Startbildschirm an.

Android TV-Apps müssen für jede Lokalisierung sowohl ein Startbildschirmsymbol als auch ein Bannerbild enthalten. Je nach Android TV-Gerät wird entweder das Symbol oder das Banner als App-Startpunkt verwendet, der auf dem Startbildschirm in den Zeilen für Apps und Spiele angezeigt wird.

Um sie zu Ihrer App hinzuzufügen, beschreiben Sie das Symbol und das Banner im Manifest wie folgt:

<application
    ...
    android:icon="@mipmap/ic_launcher"
    android:banner="@drawable/banner" >
    ...
</application>

Symbol für Startbildschirm

Bei Android TV-Apps muss wie bei allen anderen Android-Apps ein Symbol für den Startbildschirm vorhanden sein. Best Practices für die Entwicklung eines idealen Ausgangspunkts für deine App sowie detaillierte Anforderungen an Assets findest du in den Richtlinien für Android TV-App-Symbole und -Banner.

Verwenden Sie das Attribut android:banner mit dem Tag <application>, um ein Standardbanner für alle Anwendungsaktivitäten anzugeben, oder mit dem Tag <activity>, um ein Banner für eine bestimmte Aktivität anzugeben.

Verwenden Sie für das Banner eine xhdpi-Ressource mit einer Größe von 320 x 180 Pixel. Das Bild muss Text enthalten. Wenn Ihre App in mehr als einer Sprache verfügbar ist, müssen Sie für jede unterstützte Sprache eine eigene Version des Banners mit Text bereitstellen.

Launcher-Farbe ändern

Achtung:Ab Android 12 werden benutzerdefinierte Ladebildschirmanimationen, die mit der SplashScreen-Plattform-API erstellt wurden, für Android TV-Apps nicht unterstützt.

Wenn eine TV-App gestartet wird, zeigt das System eine Animation an, die einem sich vergrößernden ausgefüllten Kreis ähnelt. Wenn du die Farbe dieser Animation anpassen möchtest, lege das Attribut android:colorPrimary deiner TV-App oder -Aktivität auf eine bestimmte Farbe fest. Legen Sie außerdem zwei Attribute für die Übergangsüberschneidung auf true fest, wie im folgenden Snippet aus einer XML-Datei für Themenressourcen gezeigt:

<resources>
    <style ... >
      <item name="android:colorPrimary">@color/primary</item>
      <item name="android:windowAllowReturnTransitionOverlap">true</item>
      <item name="android:windowAllowEnterTransitionOverlap">true</item>
    </style>
</resources>

Weitere Informationen zum Arbeiten mit Designs und Stilen finden Sie unter Stile und Designs.

App für Android TV OS erstellen

Jetpack enthält androidx-Paketbibliotheken zur Verwendung mit TV-Apps.

Für TV erstellen

Für das Android TV-Betriebssystem wird die Funktion „Schreiben“ empfohlen. Neben den zentralen Compose-Bibliotheken bieten die Compose for TV-Bibliotheken spezielle Komponenten, die speziell für den großen Bildschirm entwickelt wurden:

Unter Jetpack Compose auf Android TV verwenden erfahren Sie, wie Sie mit Compose für Fernseher eine TV-App erstellen.

Toolkit für die Leanback-Benutzeroberfläche

Das Leanback-Benutzeroberfläche-Toolkit bietet APIs und Benutzeroberflächen-Widgets für TV-Geräte:

Informationen zum Erstellen einer TV-App mit dem Leanback-UI-Toolkit findest du unter Apps zur TV-Wiedergabe erstellen.

TV-Apps ausführen

Die Ausführung Ihrer App ist ein wichtiger Teil des Entwicklungsprozesses. Du kannst deine App auf Fernsehgeräten ausführen, die für das USB-Debugging konfiguriert sind, oder virtuelle TV-Geräte verwenden.

Auf einem physischen Gerät ausführen

So richten Sie Ihr TV-Gerät ein:

  1. Verbinden Sie Ihr TV-Gerät über ein USB-Kabel mit Ihrem Entwicklungscomputer. Lesen Sie bei Bedarf die Dokumentation Ihres Geräteherstellers.
  2. Rufe auf deinem Fernseher die Einstellungen auf.
  3. Wählen Sie in der Zeile Gerät die Option Info aus.
  4. Scrollen Sie zu Build und wählen Sie mehrmals Build aus, bis Sie die Meldung „Du bist jetzt Entwickler!“ sehen.
  5. Kehren Sie zu den Einstellungen zurück. Wählen Sie in der Zeile Einstellungen die Option Entwickleroptionen aus.
  6. Wählen Sie Debugging > USB-Debugging und dann An aus.
  7. Kehren Sie zum Startbildschirm Ihres Fernsehers zurück.

So testen Sie Ihre App auf Ihrem TV-Gerät:

  1. Wählen Sie in Android Studio Ihr Projekt aus und klicken Sie in der Symbolleiste auf Ausführen .
  2. Wählen Sie im Fenster Bereitstellungsziel auswählen Ihr TV-Gerät aus und klicken Sie auf OK.

Auf einem virtuellen Gerät ausführen

Der AVD Manager im Android SDK bietet Gerätedefinitionen, mit denen Sie virtuelle TV-Geräte erstellen können, um Ihre Apps auszuführen und zu testen.

So erstellen Sie ein virtuelles TV-Gerät:

  1. Starten Sie den AVD Manager. Weitere Informationen finden Sie unter Virtuelle Geräte erstellen und verwalten.
  2. Klicken Sie im Dialogfeld „AVD-Manager“ auf den Tab Gerätedefinitionen.
  3. Wählen Sie eine der Android TV-Gerätedefinitionen aus und klicken Sie auf AVD erstellen.
  4. Wählen Sie die Emulatoroptionen aus und klicken Sie auf OK, um das AVD zu erstellen.

    Hinweis: Die beste Leistung des TV-Emulatorgeräts erzielen Sie, wenn Sie den x86-Emulator verwenden und die Option Host-GPU verwenden aktivieren. Auch die virtuelle Gerätebeschleunigung verwenden, falls verfügbar. Weitere Informationen zur Hardwarebeschleunigung des Emulators finden Sie unter Hardwarebeschleunigung für den Android-Emulator konfigurieren.

So testen Sie Ihre App auf einem virtuellen TV-Gerät:

  1. Wählen Sie in Android Studio Ihr Projekt aus und klicken Sie in der Symbolleiste auf Ausführen .
  2. Wählen Sie im Fenster Bereitstellungsziel auswählen Ihr virtuelles TV-Gerät aus und klicken Sie auf OK.

Weitere Informationen zur Verwendung von Emulatoren finden Sie unter Anwendungen im Android-Emulator ausführen. Weitere Informationen zum Bereitstellen von Apps aus Android Studio auf virtuellen Geräten finden Sie unter App-Fehler beheben.

Aktiviere die Ausführung deiner TV-App als Instant-Version.

Mit Instant-Funktionen kannst du deine TV-App ganz einfach ausprobieren und die Akzeptanz erhöhen.

Wenn du deine TV-App als Instant App auf einem Android TV-Gerät oder Emulator einrichten möchtest, musst du zuerst der Anleitung zum Erstellen eines App-Bundles mit Instant-Version folgen.

Achte darauf, dass in der intent-filter der MainActivity deiner TV-App sowohl LAUNCHER als auch LEANBACK_LAUNCHER in AndroidManifest.xml deklariert sind:

<activity
    android:name="com.example.android.MainActivity"
    android:label="@string/app_name" >

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

Deine TV-App ist jetzt für die Ausführung als Instant-Version konfiguriert.

TV-App für die Veröffentlichung vorbereiten

In der Checkliste für TV-Apps findest du die nächsten Schritte zur Vorbereitung deiner TV-App für die Veröffentlichung und den Vertrieb.