Primeiros passos com apps para TV — Android TV

Primeiros passos com apps para TV

Os apps para Smart TV têm estru­tu­ra semel­hante dos apps para celu­lares e tablets. Essa semel­hança sig­nifi­ca que você pode mod­i­ficar os apps exis­tentes para exe­cução tam­bém em dis­pos­i­tivos de TV ou cri­ar novos com base no que já sabe sobre a cri­ação de apps.

Apps para TVs pre­cisam aten­der a req­ui­si­tos especí­fi­cos para se qual­i­ficar como um app para Android TV no Google Play. Para mais infor­mações: Qual­i­dade do aplica­ti­vo para TV.

Este tuto­r­i­al descreve como baixar fer­ra­men­tas no desen­volvi­men­to de apps para TV e suas alter­ações para per­mi­tir que um deter­mi­na­do app seja exe­cu­ta­do em dis­pos­i­tivos de TV.

Tam­bém é necessário ler Pro­je­tar para TV e Cri­ar lay­outs para TV. Além dis­so, teste o app de amostra Android Lean­back no repositório do Android TV.

Compatibilidade com formatos de mídia

Con­sulte a doc­u­men­tação a seguir para ter infor­mações sobre codecs, pro­to­co­los e for­matos com­patíveis com o Android TV.

Configurar um projeto para TV

Para desen­vover um app para Android TV exis­tente alguns parâmet­ros a serem mod­i­fi­ca­dos para rodar nas TV. Se você já tem um app para Android, o acrésci­mo de com­pat­i­bil­i­dade com o Android TV per­mite que você crie uma inter­face do usuário para TV aprovei­tan­do sua arquite­tu­ra.

Estes são os prin­ci­pais com­po­nentes que pre­cisam ser usa­dos para cri­ar um app que seja exe­cu­ta­do em dis­pos­i­tivos de TV:

  • Ativi­dades para Android TVs: no man­i­festo do aplica­ti­vo, declare uma ativi­dade pre­vista para exe­cução em dis­pos­i­tivos de TV.
  • Bib­liote­cas de TV: exis­tem diver­sas Bib­liote­cas androidx disponíveis para dis­pos­i­tivos de TV que ofer­e­cem wid­gets para a cri­ação de inter­faces do usuário.

Pré-requisitos

Antes de começar a cri­ar apps para TV, é pre­ciso:

Declarar uma atividade para TV

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

A segunda entrada no manifesto de atividades deste exemplo especifica a atividade a ser iniciada em um dispositivo de TV.

Se estiver modificando um app existente para uso na TV, ele não precisará usar o mesmo layout de atividade que usa em smartphones e tablets. A interface do usuário do app para TV (ou a parte para TV do app existente) precisa oferecer uma interface mais simples para navegação fácil usando um controle remoto no sofá. Para orientações sobre como projetar um app para TV, consulte o guia Projetar para TV. Para mais informações sobre os requisitos mínimos de implementação para layouts de interface em TVs, consulte Criar layouts para TV.

Declarar compatibilidade com Leanback
Declare que seu app usa a interface do usuário Leanback exigida pelo Android TV. Se também estiver desenvolvendo um app que funcione em dispositivos móveis (smartphones, wearables, tablets etc.), defina o valor do atributo required como false. Se definir o valor do atributo required como true, o app somente será executado em dispositivos que usem a interface do usuário do Leanback.

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

Um app para rodar em um Android TV pre­cisa declarar uma ativi­dade de tela de iní­cio para TV no man­i­festo. Para faz­er isso, ele usa um fil­tro de inten­ti­dade CATEGORY_LEANBACK_LAUNCHER. Esse fil­tro iden­ti­fi­ca seu app como ati­va­do para TV e per­mite que o Google Play o iden­ti­fique como um app para TV. Quan­do um usuário sele­cionar seu app na tela de iní­cio da TV, esse intent iden­ti­fi­cará a ativi­dade a ser ini­ci­a­da.

Não é necessário declarar a tela de toque

Aplica­tivos des­ti­na­dos à exe­cução em dis­pos­i­tivos de TV não depen­dem de telas de toque para entradas. Para deixar isso claro, o man­i­festo do seu app para TV pre­cisa declarar que o recur­so android.hardware.touchscreen não é necessário. Essa con­fig­u­ração iden­ti­fi­ca o app como capaz de fun­cionar em um dis­pos­i­ti­vo de TV e é necessária para que ele seja con­sid­er­a­do um app para TV no Google Play. O exem­p­lo de códi­go a seguir mostra como incluir essa declar­ação no man­i­festo:

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

Oferecer um banner de tela inicial
Se um aplicativo incluir um filtro de intent de tela de início do Leanback, ele precisa de um banner(ícone) de tela inicial para cada localização. O banner é o ponto de inicialização do app que aparece na tela inicial nas linhas de apps e jogos. Para adicionar o ícone de abertura (Banner) ao app, descreva o ícne como  banner no manifesto desta forma:
<application
        ...
        android:banner="@drawable/banner" >

        ...
    </application>

Use o atributo android:banner com a tag <application> para fornecer um banner padrão para todas as atividades do aplicativo ou a tag <activity> para uma atividade específica.

O banner precisa ser um recurso xhdpi com tamanho de 320 x 180 px. O texto precisa ser incluído na imagem. Se seu app estiver disponível em mais de um idioma, você precisará fornecer versões diferentes do banner com texto para cada idioma.

Criar apps para TV
Depois de completar as etapas descritas acima, é hora de começar a criar apps para a tela grande. Confira estes tópicos adicionais para ajudar a criar o aplicativo para TV:

Criar apps para rodar na TV: O SDK Android oferece ferramentas e widgets de interface do usuário para a criação de apps para TV que reproduzam vídeos e música e permitam ao usuário navegar pelo controle remoto.
Facilitar os usuários a encontrar o conteúdo na TV: com todas as opções de conteúdo ao alcance dos usuários, ajudar a encontrar conteúdo de que eles gostem é quase tão importante quanto oferecer o conteúdo. Este treinamento discute como destacar o conteúdo na TV.

Criar jogos para TV: dispositivos de TV são uma plataforma incrível para jogos. Consulte este tópico para ter informações sobre como criar incríveis experiências de jogos para TV.

Criar canais de TV: apresente seu conteúdo de vídeo de maneira simple e linear, no estilo de uma transmissão de TV, com canais e programas que seus usuários podem acessar por meio do controle remoto nos botões para cima/baixo.

Executar apps para TV
A execução do app é parte importante do processo de desenvolvimento. Você pode executar seu app em dispositivos de TV compatíveis com a depuração USB ou usar dispositivos de TV virtual.

Executar em um dispositivo real

Configure a TV da seguinte maneira:

Use um cabo USB para conectar seu dispositivo de TV a sua máquina de desenvolvimento. Se necessário, consulte a documentação fornecida pelo fabricante.
No dispositivo de TV, navegue até Configurações.
Na linha Dispositivo, selecione Sobre.
Role para baixo até Criar e selecione Criar várias vezes até receber a mensagem "Agora você é um desenvolvedor".
Volte para Configurações. Na linha Preferências, selecione Opções do desenvolvedor.
Selecione Depuração > Depuração USB e selecione Ativado.
Volte para a tela inicial da TV.
Para testar seu aplicativo no dispositivo de TV:

No Android Studio, selecione seu projeto e clique em Run  na barra de ferramentas.
Na janela Select Deployment Target, selecione seu dispositivo de TV e clique em OK.
Executar em um dispositivo virtual
O AVD Manager do Android SDK oferece definições de dispositivo que permitem criar dispositivos de TV virtuais para executar e testar seus aplicativos.

Para criar um dispositivo de TV virtual:

Procure ajuda no AVD Manager.
Na caixa de diálogo do AVD Manager, clique na guia Device Definitions.
Selecione uma das definições de dispositivo do Android TV e clique em Create AVD.
Selecione as opções do emulador e clique em OK para criar o AVD.

Posts Similares