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.
Bannière sur l'écran d'accueil
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:
androidx.leanback.app
androidx.leanback.database
androidx.leanback.graphics
androidx.leanback.media
androidx.leanback.preference
androidx.leanback.system
androidx.leanback.widget
androidx.leanback.widget.picker
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:
- 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.
- Sur votre téléviseur, accédez à Paramètres.
- Sur la ligne Appareil, sélectionnez À propos.
- 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 !"
- Revenez aux Paramètres. Sur la ligne Préférences, sélectionnez Options pour les développeurs.
- Sélectionnez Débogage > Débogage USB, puis sélectionnez Activé.
- Revenez à l'écran d'accueil du téléviseur.
Pour tester votre application sur votre téléviseur:
- Dans Android Studio, sélectionnez votre projet, puis cliquez sur Exécuter dans la barre d'outils.
- 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:
- Lancez AVD Manager. Pour en savoir plus, consultez Créer et gérer des appareils virtuels
- Dans la boîte de dialogue AVD Manager, cliquez sur l'onglet Device Definitions (Définitions d'appareils).
- Sélectionnez l'une des définitions d'appareil Android TV, puis cliquez sur Créer un AVD.
- 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:
- Dans Android Studio, sélectionnez votre projet, puis cliquez sur Exécuter dans la barre d'outils.
- 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.