Android Tv et Nexus player
Après les échecs successifs des Google TV et Nexus Q, Google ne baisse pas les bras et ambitionne toujours de s’insérer dans le créneau des « 2h19 », par jour, que chaque français passe devant la Télé (hors jeux).
- Android Tv
Et pour cela, Google s’est donné les moyens. Basé sur Android 5.0 Lollipop, Android Tv est un système dévoilé en 2014 lors de la Google I/O (conférence annuelle de Google). Composé de menus et de vignettes au design épuré, cet Os respecte et applique la « 10 foot experience » : l’interface et les différentes informations affichées à l’écran doivent être compréhensible par l’utilisateur alors qu’il se situe à 3.05 mètres (« 10 foot ») de sa télévision. On n’utilise pas sa télévision comme l’on utilise un ordinateur ou une tablette.
La télécommande est un élément indispensable lors de l’utilisation d’une télévision. Une navigation simple et intuitive passe donc par une télécommande ne possédant que le strict nécessaire en termes de boutons. Pour exemple, la télécommande du Nexus Player (qui sera développée plus bas) de Google ne contient que 6 « boutons » ;
- La croix directionnelle
- Le bouton de validation
- Le bouton « Go Back »
- Le bouton de « Play/Pause »
- Le bouton « Home »
- Le bouton d’activation de la reconnaissance vocale (Fonctionnalité importante de l’Android Tv).
Cette télécommande peut être « simulée » par un terminal Android (tablette ou téléphone) grâce à une application dédiée.
Possédant son propre store, Android Tv peut lancer aussi bien des applications que des jeux adaptés à la plateforme. Pour ces derniers, Google a aussi lancé la commercialisation d’une manette Bluetooth, en plus de la télécommande du Nexus Player qui est compatible.
D’un point de vue plus technique, il n’est pas indispensable de réécrire complétement une application pour la porter du mobile/de la tablette à la Télévision. Pour autant, on ne navigue pas sur une tablette/un mobile comme sur une télévision (ces dernières n’étant pas encore tactiles). Il est donc essentiel de créer des vues propres à Android Tv.
- Nexus Player
Afin d’exploiter Android Tv à son plein potentiel, Google avait besoin d’un fer de lance digne de ce nom. Et comme on n’est jamais mieux servi que par soi-même, c’est là que le Nexus Player (fabriqué par Asus) entre en scène.
Disponible en France depuis le 15 Avril 2015 (au prix de 99 euros sur le Store de Google), le Nexus Player est la réponse de Google à l’Apple Tv. Véritable lecteur multimédia, il permet à l’utilisateur d’accéder à de nombreux services en lignes (tels que la VOD, Youtube et autres applications, …), de « caster » du contenu provenant d’autres appareils compatibles (en utilisant la technologie Google Cast, d’abord déployer sur le Chromecast) et peut être utiliser comme « console de jeu » (manette vendue séparément mais télécommande compatible). Livré par défaut avec Android 5.0 Lollipop, le Nexus Player possède son propre Play Store donnant accès à de nombreuses applications pensées et adaptées à l’appareil.
Sous ses airs de gros palets d’Hockey (120 mm x 120 mm x 20 mm pour 235g), le petit boitier rond embarque :
- Un processeur Intel Atom quadruple-cœur cadencé à 1.8 GHz
- Une puce graphique Imagination PowerVR Series 6
- 1 Go de mémoire RAM
- 8 Go d’espace de stockage (un peu plus de 5 Go utilisables)
- Une connectivité Wi-Fi 802.11 ac 2×2
- Une connectivité Bluetooth 4.1.
À l’extérieur, on peut remarquer 3 connectiques :
- Un port HDMI
- Un port micro USB (très utile pour les développeurs)
- Une prise secteur.
Certes, on pourrait regretter l’absence d’un port Ethernet mais à l’heure du tout « sans-fil » et afin de conserver un design épuré, on peut comprendre la décision de Google.
- Du mobile à la Télé.
Étant basé sur Android 5.0 Lollipop, il est possible de porter une application Android (Téléphone et Tablette) sur Android Tv. Pour cela, il faut répondre à quelques prérequis :
- Installer et mettre à jour Android Studio : Basé sur IntelliJ IDEA, Android Studio est l’IDE (Integrated Development Environment – environnement de développement) de Google pour développer des applications Android.
- Mettre à jour SDK tools vers la version 24.0.0 (au minimum).
- Mettre à jour le SDK Android vers Android 5.0 – API 21 (au minimum).
Maintenant que votre IDE est en place, il est temps de développer.
Comme pour toute application Android standard, il faut tout d’abord déclarer une Main Activity dans le manifeste de l’application. C’est cette Activity qui sera appelée au lancement de l’application. Il faut aussi préciser que cette Activity ne sera et ne peut être lancé uniquement sur Android Tv. Pour cela, il faut préciser la bonne category (android.intent.category.LEANBACK_LAUNCHER) dans l’intent–filter de l’ Activity.
<application android:banner="@drawable/banner" > ... <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>
Il faut maintenant préciser que votre application utilisera bien la nouvelle UI (Leanback Support) requis pour Android Tv. Dans le cas où votre application peut tourner sur mobile ET Télé, il faut attribuer la valeur false à l’attribut required. Dans le cas contraire, Il faut attribuer la valeur true.
<manifest> <uses-feature android:name="android.software.leanback" android:required="false" /> ... </manifest>
À l’heure où nous écrivons ces lignes, Android Tv ne gère pas d’interface tactile (du fait d’un nombre de Téléviseur tactile très restreint). De ce fait, il faut le préciser dans le manifeste.
<manifest> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> ... </manifest>
Dernière étape importante, il est indispensable de fournir un home screen banner à votre application : c’est une vignette qui apparaîtra sur la page principale de l’Android Tv et qui permettra à l’utilisateur de reconnaitre votre application parmi toutes celles qu’il a installé. Attention, votre vignette doit être en 320 x 180 px (xhdpi ressource).
<application ... android:banner="@drawable/banner" > ... </application>
Afin de proposer une expérience irréprochable aux utilisateurs de votre application sur Android Tv, Google fournit et recommande d’utiliser les Leanback Library.
(Plus d’informations sur : https://developer.android.com/training/tv/start/start.html#tv-libraries)