TV-App erstellen und ausführen

TV-Apps haben dieselbe Struktur wie Apps für Smartphones und Tablets. Diese Ähnlichkeit bedeutet, dass Sie Sie können Ihre vorhandenen Apps so ändern, dass sie auch auf Fernsehern ausgeführt werden, oder neue Apps erstellen, die auf bereits vorhandenen Inhalten basieren. über die Entwicklung von Android-Apps erfahren.

Wichtig:Ihre App muss bestimmte Anforderungen erfüllen, als Android TV-App bei Google Play gelten. Weitere Informationen finden Sie in den aufgeführten Anforderungen in der Qualitätsrichtlinien für TV-Apps.

In diesem Leitfaden wird beschrieben, wie du deine Entwicklungsumgebung für die Erstellung von TV-Apps und den mindestens erforderliche Änderungen, damit eine App auf Fernsehern ausgeführt werden kann.

Informationen zum Entwerfen von Apps für das Fernsehen finden Sie unter Design für Fernseher. Sehen Sie sich auch die Beispiel-Apps in der GitHub-Repository für Android TV.

Unterstützte Medienformate bestimmen

Informationen zu den Codecs, Protokollen und Formaten finden Sie in der folgenden Dokumentation unterstützt von Android TV:

TV-Projekt einrichten

In diesem Abschnitt wird die Einrichtung eines TV-Projekts erläutert, unabhängig davon, ob Sie eine vorhandene Android-App für die Ausführung auf Fernsehern ändern eine neue TV-App. Wenn Sie bereits eine Android-App haben, können Sie durch Hinzufügen der Android TV-Unterstützung eine Benutzeroberfläche für TV unter Verwendung Ihrer vorhandenen App-Architektur.

Beim Erstellen einer App, die auf Fernsehern ausgeführt werden kann, gibt es zwei Hauptkomponenten:

  • Aktivität für TV:Im App-Manifest eine Aktivität deklarieren, die für TV-Geräte bestimmt ist.
  • TV-Bibliotheken:Optional können Sie eines oder mehrere der Androidx-Bibliotheken die für Fernsehgeräte verfügbar sind. Sie finden sie in einem anderen Abschnitt dieses Leitfadens. Diese Bibliotheken bieten Widgets zum Erstellen von Benutzeroberflächen.

Voraussetzungen

Bevor Sie mit der Entwicklung einer App für TV-Geräte beginnen, müssen Sie die folgenden Schritte ausführen:

  • Aktualisieren Sie Ihre 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 auf Android 5.0 (API 21) oder höher.
    Die aktualisierte Plattformversion bietet neue APIs für TV-Apps.
  • Erstellen oder aktualisieren Sie Ihr App-Projekt.
    Erstelle ein Projekt oder ändere ein vorhandenes Projekt, um auf neue APIs für TV-Geräte zuzugreifen , das auf Android 5.0 (API-Level 21) oder höher ausgerichtet ist.

TV-Aktivität deklarieren

Für eine App, die auf Fernsehern ausgeführt werden soll, muss eine Launcher-Aktivität für den Fernseher angegeben werden in seinem Manifest. Es wird ein CATEGORY_LEANBACK_LAUNCHER-Intent verwendet. Filter verwenden. Dieser Filter identifiziert Ihre App als für TV aktiviert und ermöglicht Google Play identifiziert sie als TV-App. Wenn ein Nutzer Ihre App auf dem Startbildschirm seines Fernsehers auswählt, damit ermittelt, welche Aktivität gestartet werden soll.

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

<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 es sich dabei um die Aktivität handelt, auf einem Fernsehgerät.

Achtung:Wenn Sie das Tag CATEGORY_LEANBACK_LAUNCHER Intent-Filter in Ihrer App ist, ist sie für Nutzer, die Google Play auf Fernsehern ausführen, nicht sichtbar. Wenn Ihre App verfügt nicht über diesen Filter, wenn Sie sie mithilfe von Entwicklertools auf einen Fernseher laden. nicht in der Benutzeroberfläche des Fernsehers erscheint.

Die Benutzeroberfläche Ihrer TV-App oder der TV-Teil Ihrer vorhandenen App muss eine einfache Oberfläche für eine einfache Navigation bieten. mit einer Fernbedienung aus 3 m Entfernung. Wenn du eine bestehende App für die Verwendung auf Fernsehern modifizierst, verwende Aktivitätslayout für TV, das Sie für Smartphones und Tablets verwenden. Richtlinien zur Entwicklung einer App für den Fernseher finden Sie unter Design für das Fernsehen.

Support für TV-Geräte deklarieren

Erkläre, dass deine App für Android TV entwickelt wurde, indem du das Funktion „android.software.leanback“.

Wenn deine App sowohl auf Mobilgeräten als auch auf Fernsehern läuft, setze den Attributwert required auf false. Wenn Sie den Attributwert required auf true festlegen, Google Play macht deine App nur unter Android TV verfügbar.

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

Deklarieren, dass der Touchscreen nicht erforderlich ist

Bei Apps, die für die Ausführung auf Fernsehern vorgesehen sind, sind für die Eingabe keine Touchscreens erforderlich. Um dies zu verdeutlichen, muss im Manifest deiner TV-App deklariert werden, dass die Die Funktion „android.hardware.touchscreen“ ist nicht erforderlich. Mit dieser Einstellung wird Ihre App auf einem Fernsehgerät funktionieren, und dies ist erforderlich, damit deine App bei Google als TV-App betrachtet wird. Spielen. Das folgende Codebeispiel zeigt, wie diese Manifest-Deklaration einbezogen wird:

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

Achtung:In Ihrem App-Manifest müssen Sie erklären, dass kein Touchscreen erforderlich ist. wie in diesem Beispielcode gezeigt. Andernfalls erscheint deine App nicht bei Google Play auf Fernsehern. Geräte.

Stellen Sie ein Symbol und Banner für den Startbildschirm bereit.

Android TV-Apps müssen für jede Lokalisierung ein Symbol für den Startbildschirm und ein Bannerbild haben. Je nach Android TV-Gerät wird beim Start der App entweder das Symbol oder das Banner 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>

Startbildschirmsymbol

Bei Android TV-Apps muss wie bei allen Android-Apps ein Symbol für den Startbildschirm vorhanden sein. Best Practices für der Entwicklung einer guten Einführungsmöglichkeit für Ihre App und der detaillierten Asset-Anforderungen finden Sie in der App-Symbol und -Banner für Android TV .

Verwenden Sie den android:banner. mit dem <application>-Attribut -Tag, um ein Standardbanner für alle Anwendungsaktivitäten bereitzustellen, oder mit dem Tag <activity> -Tag verwendet, um ein Banner für eine bestimmte Aktivität zu liefern.

Verwenden Sie für das Banner eine xhdpi-Ressource mit einer Größe von 320 x 180 Pixeln. Text muss in der Bild. Wenn Ihre App in mehr als einer Sprache verfügbar ist, müssen Sie separate Versionen der Banner mit Text für jede unterstützte Sprache.

Launcher-Farbe ändern

Achtung:Unter Android 12 und höher werden benutzerdefinierte Ladebildschirmanimationen, die mithilfe der Die API der SplashScreen-Plattform wird für Android TV-Apps nicht unterstützt.

Beim Starten einer TV-App zeigt das System eine Animation an, die einer maximierbaren, ausgefüllten . Um die Farbe dieser Animation anzupassen, legen Sie den android:colorPrimary fest. Ihrer TV-App oder -Aktivität einer bestimmten Farbe zuordnen. Legen Sie außerdem zwei übergehende Überschneidungsattribute zu true, wie im folgenden Snippet von einem Theme-Ressourcen-XML-Datei:

<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 über das Arbeiten mit Designs und Stilen finden Sie unter Stile und Designs:

App für Android TV OS entwickeln

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

Für TV erstellen

Die empfohlene Methode zum Erstellen von Apps für Android TV ist die Option „Schreiben“. Neben der zentralen Version von „Compose“ Bibliotheken enthalten, bietet Compose for TV Libraries spezielle Komponenten, die speziell für die Großbildschirm:

Unter Jetpack Compose auf Android TV verwenden erfährst du, wie du mit Compose für TV eine TV-App erstellst.

Leanback-UI-Toolkit

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

Entdecke, wie du mit dem Leanback-UI-Toolkit eine TV-App in Apps zur TV-Wiedergabe entwickeln

TV-Apps ausführen

Die Ausführung Ihrer Anwendung ist ein wichtiger Teil des Entwicklungsprozesses. Sie können Ihre App auf TV-Geräte, die so konfiguriert sind, dass sie USB-Debugging unterstützen oder virtuelle TV-Geräte verwenden.

Auf einem physischen Gerät ausführen

So richtest du deinen Fernseher ein:

  1. Verbinden Sie den Fernseher über ein USB-Kabel mit dem Entwicklungscomputer. Bei Bedarf finden Sie in der Dokumentation des Geräteherstellers.
  2. Rufen Sie auf Ihrem 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 erhalten. „Du bist jetzt Entwickler!“
  5. Kehren Sie zu den Einstellungen zurück. Wählen Sie in der Zeile Preferences (Einstellungen) die Option Developer options (Entwickleroptionen) aus.
  6. Wählen Sie Debugging > USB-Debugging und wählen Sie An aus.
  7. Kehren Sie zum Startbildschirm des Fernsehers zurück.

So testen Sie Ihre App auf Ihrem Fernseher:

  1. Wählen Sie in Android Studio Ihr Projekt aus und klicken Sie auf ausführen in der Symbolleiste aus.
  2. Führen Sie im Fenster Bereitstellungsziel auswählen die folgenden Schritte aus: wähle deinen Fernseher aus und klicke auf OK.

Auf einem virtuellen Gerät ausführen

Der AVD-Manager in der Android-App SDK stellt Gerätedefinitionen bereit, mit denen Sie virtuelle TV-Geräte zum Ausführen und Testen Ihrer Anwendungen.

So erstellst du 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 beim TV-Emulator erzielen Sie mit dem x86-Emulator. Aktivieren Sie die Option Use Host GPU (Host-GPU verwenden). Virtuelle Gerätebeschleunigung auch verwenden, wenn verfügbar. Weitere Informationen zur Hardwarebeschleunigung des Emulators findest du unter Konfigurieren Sie die Hardwarebeschleunigung für die Android-Emulator.

So testen Sie Ihre App auf dem virtuellen Fernseher:

  1. Wählen Sie in Android Studio Ihr Projekt aus und klicken Sie auf ausführen in der Symbolleiste aus.
  2. Führen Sie im Fenster Bereitstellungsziel auswählen die folgenden Schritte aus: wähle dein virtuelles TV-Gerät aus und klicke auf OK.

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

Instant-Version der TV-App aktivieren

Instant-Funktionen erleichtern Nutzern die Arbeit deine TV-App testen, um die Akzeptanz zu erhöhen.

So richten Sie Ihre TV-App so ein, dass sie als Instant-App auf einem Android TV-Gerät oder Emulator ausgeführt wird: folgen Sie zunächst der Anleitung, Erstellen Sie ein App Bundle mit aktivierter Instant-Version.

Als Nächstes in der intent-filter für die MainActivity, achten Sie darauf, dass sowohl LAUNCHER als auch LEANBACK_LAUNCHER sind in AndroidManifest.xml deklariert:

<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

Gehen Sie die Checkliste für TV-Apps durch, um mehr über die nächsten Schritte zu erfahren. , um deine TV-App für die Veröffentlichung und den Vertrieb vorzubereiten.