Créer et exécuter une application TV

Les applications TV utilisent la même structure que les applications pour téléphones et tablettes. Cette similitude signifie que vous pouvez modifier vos applications existantes pour qu'elles s'exécutent également sur les téléviseurs, ou créer des applications basées sur celles que vous utilisez déjà. sur la création d'applications pour Android.

Important:Votre application doit répondre à des exigences spécifiques pour sont considérées comme des applications Android TV sur Google Play. Pour en savoir plus, consultez les exigences indiquées sur la qualité des applications Android TV.

Ce guide explique comment préparer votre environnement de développement à la création d'applications TV modifications minimales requises pour permettre l'exécution d'une application sur des téléviseurs.

Pour plus d'informations sur la conception d'applications pour TV, voir Conception pour TV Consultez également les applications exemples dans le Dépôt GitHub Android TV

Déterminer les formats multimédias compatibles

Consultez la documentation suivante pour en savoir plus sur les codecs, les protocoles et les formats compatibles avec Android TV:

Configurer un projet TV

Cette section explique comment configurer un projet TV, que vous soyez modifier une application Android existante pour qu'elle s'exécute sur des téléviseurs ou créer une nouvelle appli TV. Si vous avez déjà une application Android, ajouter la compatibilité avec Android TV vous permet de concevoir une interface utilisateur pour TV tout en réutilisant l'architecture de votre application existante.

Lorsque vous créez une application qui s'exécute sur des téléviseurs, vous devez utiliser deux composants principaux:

  • Activité pour TV:dans le fichier manifeste de votre application, déclarer une activité destinée à s'exécuter sur des téléviseurs.
  • Bibliothèques TV : si vous le souhaitez, vous pouvez inclure un ou plusieurs des éléments suivants : bibliothèques androidx disponibles pour les téléviseurs, qui sont listés dans une autre section de ce guide. Ces bibliothèques fournissent des widgets permettant de créer des interfaces utilisateur.

Prérequis

Avant de commencer à créer une application pour TV, vous devez suivre les étapes suivantes:

  • Mettez à jour vos SDK Tools vers la version 24.0.0 ou une version ultérieure.
    Les SDK Tools mis à jour vous permettent de créer et de tester des applications pour TV.
  • Mettez à jour votre SDK avec Android 5.0 (API 21) ou une version ultérieure.
    La nouvelle version de la plate-forme fournit de nouvelles API pour les applications TV.
  • Créez ou mettez à jour votre projet d'application.
    Pour accéder à de nouvelles API pour les téléviseurs, créez un projet ou modifiez un projet qui cible Android 5.0 (niveau d'API 21) ou version ultérieure.

Déclarer une activité TV

Une application destinée à s'exécuter sur des téléviseurs doit déclarer une activité de lanceur pour ce téléviseur dans son fichier manifeste. Elle utilise un intent CATEGORY_LEANBACK_LAUNCHER. pour ce faire. Ce filtre identifie votre appli comme activée pour la télévision et permet Google Play l'identifie en tant qu'application TV. Lorsqu'un utilisateur sélectionne votre application sur l'écran d'accueil de son téléviseur, cet intent identifie l'activité à lancer.

L'extrait de code suivant montre comment inclure ce filtre d'intent dans votre fichier manifeste:

<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>

Dans cet exemple, la deuxième entrée du fichier manifeste d'activité indique qu'il s'agit de l'activité sur un téléviseur.

Attention:Si vous n'incluez pas le paramètre CATEGORY_LEANBACK_LAUNCHER filtre d'intent dans votre application, elle n'est pas visible pour les utilisateurs de Google Play sur des téléviseurs. De plus, si votre l'application ne dispose pas de ce filtre lorsque vous utilisez les outils pour les développeurs pour la charger sur un téléviseur, l'application n'apparaît pas dans l'interface utilisateur du téléviseur.

L'interface utilisateur de votre application TV, ou la partie TV de votre application existante, doit fournir une interface simple pour faciliter la navigation à l'aide d'une télécommande à 3 m de distance. Si vous modifiez une application existante pour une utilisation sur un téléviseur, n'utilisez pas la même la mise en page des activités pour les téléviseurs que vous utilisez pour les téléphones et les tablettes. Pour obtenir des directives sur la conception d'une application pour la télévision, consultez Conception pour la télévision.

Déclarer la compatibilité des téléviseurs

Déclarez que votre application est conçue pour Android TV en déclarant le android.software.leanback.

Si votre application s'exécute à la fois sur mobile et sur téléviseur, définissez la valeur de l'attribut required sur false Si vous définissez la valeur de l'attribut required sur true, Google Play ne proposera votre appli que sur l'OS Android TV.

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

Déclarer l'écran tactile non requis

Les applications destinées à être exécutées sur des téléviseurs ne dépendent pas des écrans tactiles pour l'entrée. Pour clarifier cela, le fichier manifeste de votre appli TV doit déclarer que La fonctionnalité android.hardware.touchscreen n'est pas requise. Ce paramètre identifie votre application comme étant compatible avec les téléviseurs, et votre appli doit être considérée comme une appli TV dans Google. Lire. L'exemple de code suivant montre comment inclure cette déclaration de fichier manifeste:

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

Attention:Dans le fichier manifeste de votre application, vous devez déclarer qu'un écran tactile n'est pas requis. comme indiqué dans cet exemple de code. Sinon, votre appli n'apparaîtra pas dans Google Play sur un téléviseur appareils.

Fournir une icône et une bannière sur l'écran d'accueil

Les applications Android TV doivent fournir à la fois une icône sur l'écran d'accueil et une image de bannière pour chaque localisation. Selon l'appareil Android TV, l'icône ou la bannière est utilisée pour le lancement de l'application. qui apparaît sur l'écran d'accueil dans les lignes "Applications" et "Jeux".

Pour les ajouter à votre application, décrivez l'icône et la bannière dans le fichier manifeste comme suit:

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

Icône de l'écran d'accueil

Les applications Android TV, comme toutes les applications Android, doivent disposer d'une icône d'écran d'accueil. Pour connaître les bonnes pratiques la conception d'un point de lancement idéal pour votre application et les exigences détaillées en termes d'éléments, consultez la Icône et bannière de l'application Android TV consignes.

Utilisez le android:banner avec l'attribut <application> pour fournir une bannière par défaut pour toutes les activités de l'application, ou avec le tag <activity> afin de fournir une bannière pour une activité spécifique.

Pour la bannière, utilisez une ressource xhdpi d'une taille de 320 x 180 px. Le texte doit être inclus dans l'image. Si votre application est disponible dans plusieurs langues, vous devez fournir des versions distinctes des avec du texte pour chaque langue prise en charge.

Modifier la couleur du lanceur d'applications

Attention:Sur Android 12 ou version ultérieure, les animations d'écran de démarrage personnalisées sont créées à l'aide du L'API de la plate-forme SplashScreen n'est pas compatible avec les applications Android TV.

Au lancement d'une appli TV, le système affiche une animation qui ressemble à une image cercle. Pour personnaliser la couleur de cette animation, définissez android:colorPrimary de votre application ou activité TV vers une couleur spécifique. Définissez également de transition des attributs de chevauchement vers true, comme illustré dans l'extrait de code suivant Fichier XML de ressource de thème:

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

Pour en savoir plus sur l'utilisation des thèmes et des styles, consultez Styles et thèmes.

Créer une application pour l'OS Android TV

Jetpack inclut des bibliothèques de packages androidx à utiliser avec les applications TV.

Compose pour la télévision

Compose est la méthode recommandée pour créer des applications pour l'OS Android TV. En plus des fonctionnalités principales de Compose , les bibliothèques Compose pour la télévision fournissent des composants dédiés conçus spécialement pour grand écran:

Découvrez comment créer une application TV à l'aide de Compose pour la télévision dans Utiliser Jetpack Compose sur Android TV.

Kit d'interface utilisateur Leanback

Le kit d'interface utilisateur Leanback fournit des API et des widgets d'interface utilisateur pour les téléviseurs:

Découvrez comment créer une application TV à l'aide du kit d'interface utilisateur Leanback dans Créer des applications de lecture TV

Exécuter des applications TV

L'exécution de votre application est une partie importante du processus de développement. Vous pouvez exécuter votre application sur Périphériques TV configurés pour prendre en charge le débogage USB ou utiliser des appareils de télévision virtuelle.

Exécuter l'application sur un appareil physique

Configurez votre téléviseur comme suit:

  1. Utilisez un câble USB pour connecter votre téléviseur à votre ordinateur de développement. Si nécessaire, reportez-vous à la documentation fournie par le fabricant de votre appareil.
  2. Sur votre téléviseur, accédez à Paramètres.
  3. Sur la ligne Appareil, sélectionnez À propos.
  4. Faites défiler la page jusqu'à Build (Compiler) et sélectionnez Build (Compiler) plusieurs fois jusqu'à ce que le message s'affiche "Vous êtes désormais développeur !"
  5. Revenez aux Paramètres. Sur la ligne Préférences, sélectionnez Options pour les développeurs.
  6. Sélectionnez Débogage > Débogage USB, puis sélectionnez Activé.
  7. Revenez à l'écran d'accueil du téléviseur.

Pour tester votre application sur votre téléviseur:

  1. Dans Android Studio, sélectionnez votre projet, puis cliquez sur Exécuter dans la barre d'outils.
  2. Dans la fenêtre Select Deployment Target (Sélectionner une cible de déploiement), sélectionnez votre téléviseur, puis cliquez sur OK.

Exécuter l'application sur un appareil virtuel

AVD Manager dans Android Le SDK fournit des définitions d'appareil qui vous permettent de créer des appareils de télévision virtuelle pour l'exécution et pour tester vos applications.

Pour créer un appareil de télévision virtuelle:

  1. Lancez AVD Manager. Pour en savoir plus, consultez Créer et gérer des appareils virtuels
  2. Dans la boîte de dialogue AVD Manager, cliquez sur l'onglet Device Definitions (Définitions d'appareils).
  3. Sélectionnez l'une des définitions d'appareil Android TV, puis cliquez sur Créer un AVD.
  4. Sélectionnez les options de l'émulateur, puis cliquez sur OK pour créer l'AVD.

    Remarque:Pour optimiser les performances de l'émulateur TV, utilisez l'émulateur x86. et activez l'option Utiliser le GPU de l'hôte. Utilisez également l'accélération de l'appareil virtuel disponibles. Pour en savoir plus sur l'accélération matérielle de l'émulateur, consultez Configurez l'accélération matérielle pour Android Emulator

Pour tester votre application sur l'appareil de télévision virtuelle:

  1. Dans Android Studio, sélectionnez votre projet, puis cliquez sur Exécuter dans la barre d'outils.
  2. Dans la fenêtre Select Deployment Target (Sélectionner une cible de déploiement), sélectionnez votre appareil pour la télévision virtuelle, puis cliquez sur OK.

Pour plus d'informations sur l'utilisation des émulateurs, reportez-vous à la section Exécutez des applications sur Android Emulator. Pour en savoir plus sur le déploiement d'applications depuis Android Studio sur des appareils, consultez Déboguer votre application.

Permettre à votre application TV de s'exécuter en tant qu'expérience instantanée

Les expériences instantanées facilitent pour tester votre application TV et vous permettre d'augmenter l'adoption.

Pour configurer votre application TV afin qu'elle s'exécute en tant qu'appli instantanée sur un appareil ou un émulateur Android TV, procédez comme suit : suivez d'abord les instructions pour Créez un app bundle permettant une utilisation instantanée.

Ensuite, dans les intent-filter de votre appli TV MainActivity, assurez-vous que LAUNCHER et LEANBACK_LAUNCHER sont déclarés dans AndroidManifest.xml:

<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>

Votre appli TV est maintenant configurée pour s'exécuter en tant qu'expérience instantanée.

Préparer votre appli TV pour la publication

Consultez la checklist des applications TV pour connaître les étapes suivantes pour préparer votre appli TV en vue de sa publication et de sa distribution.