Tworzenie i uruchamianie aplikacji TV

Aplikacje na telewizory mają taką samą strukturę jak aplikacje na telefony i tablety. To podobieństwo oznacza, że zmodyfikować istniejące aplikacje, aby działały też na urządzeniach telewizyjnych, lub utworzyć nowe na podstawie wie, jak tworzyć aplikacje na Androida.

Ważne: aplikacja musi spełniać określone wymagania, aby są klasyfikowane jako aplikacje na Androida TV w Google Play. Aby uzyskać więcej informacji, zapoznaj się z tymi wymaganiami w jakości aplikacji na telewizory.

W tym przewodniku opisujemy, jak przygotować środowisko programistyczne do tworzenia aplikacji na telewizory oraz wymagane minimalne zmiany, aby aplikacja mogła działać na urządzeniach telewizyjnych.

Więcej informacji o projektowaniu aplikacji na telewizor znajdziesz w sekcji Projektowanie Telewizor. Zobacz też przykładowe aplikacje w repozytorium Androida TV na GitHubie.

Określ obsługiwane formaty multimediów

W poniższej dokumentacji znajdziesz informacje na temat kodeków, protokołów i formatów obsługiwane przez Androida TV:

Konfigurowanie projektu telewizyjnego

Z tej sekcji dowiesz się, jak skonfigurować projekt telewizyjny, niezależnie od tego, modyfikowanie istniejącej aplikacji na Androida, aby działała na urządzeniach telewizyjnych, lub utworzenie nową aplikację TV. Jeśli masz już aplikację na Androida, dodanie obsługi Androida TV pozwoli Ci projektować interfejsu użytkownika na telewizorze przy jednoczesnym wykorzystaniu dotychczasowej architektury aplikacji.

Istnieją 2 główne komponenty, które wykorzystujesz do tworzenia aplikacji działających na telewizorach:

  • Aktywność dla telewizora: w pliku manifestu aplikacji zadeklarować aktywność, która ma być uruchamiana na urządzeniach telewizyjnych.
  • Biblioteki telewizyjne:opcjonalnie możesz dodać co najmniej 1 z bibliotek biblioteki Androidax na telewizory. Ich listę znajdziesz w innej sekcji tego przewodnika. Te biblioteki udostępniają widżety do tworzenia interfejsów użytkownika.

Wymagania wstępne

Zanim zaczniesz tworzyć aplikację na telewizory, musisz wykonać te czynności:

  • Zaktualizuj pakiet SDK do wersji 24.0.0 lub nowszej.
    Zaktualizowane narzędzia w pakiecie SDK pozwalają tworzyć i testować aplikacje na telewizory.
  • Zaktualizuj pakiet SDK do Androida w wersji 5.0 (API 21) lub nowszej.
    Zaktualizowana wersja platformy udostępnia nowe interfejsy API dla aplikacji TV.
  • Utwórz lub zaktualizuj projekt aplikacji.
    Aby uzyskać dostęp do nowych interfejsów API dla urządzeń telewizyjnych, utwórz projekt lub zmodyfikuj istniejący projektu, który jest kierowany na Androida 5.0 (poziom interfejsu API 21) lub nowszego.

Deklarowanie aktywności telewizyjnej

Aplikacja, która ma działać na urządzeniach telewizyjnych, musi zadeklarować aktywność programu uruchamiającego na telewizorze. w pliku manifestu. Wykorzystuje intencję CATEGORY_LEANBACK_LAUNCHER taki filtr. Ten filtr identyfikuje aplikację jako dostępną na telewizorze i pozwala Google Play rozpoznaje ją jako aplikację telewizyjną. Gdy użytkownik wybierze aplikację na ekranie głównym telewizora, ta intencja określa, które działanie należy uruchomić.

Ten fragment kodu pokazuje, jak uwzględnić ten filtr intencji w pliku manifestu:

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

Drugi wpis w pliku manifestu aktywności w tym przykładzie określa, że jest to działanie na telewizorze.

Uwaga: jeśli nie podasz tagu Filtr intencji: CATEGORY_LEANBACK_LAUNCHER w nie będzie widoczna dla użytkowników korzystających z Google Play na telewizorach. Ponadto, jeśli gdy używasz narzędzi dla programistów w celu załadowania aplikacji na telewizor, aplikacja nie ma tego filtra nie jest widoczny w interfejsie telewizora.

Interfejs aplikacji TV lub jej część na telewizory muszą mieć prosty interfejs, który ułatwia nawigację. przy użyciu pilota z odległości 3 metrów. Jeśli modyfikujesz istniejącą aplikację, aby używać jej na telewizorze, nie używaj tego samego układ aktywności na telewizorze, z którego korzystasz na telefonach i tabletach. Wskazówki projektowania aplikacji na telewizor znajdziesz w artykule Projektowanie aplikacji na telewizor.

Zadeklaruj, że telewizor jest obsługiwany

Zadeklaruj, że aplikacja jest przeznaczona na Androida TV, zadeklaruj android.software.leanback funkcja.

Jeśli Twoja aplikacja działa zarówno na urządzeniach mobilnych, jak i na telewizorach, ustaw wartość atrybutu required na false Jeśli ustawisz wartość atrybutu required na true, Google Play udostępni aplikację tylko na urządzeniach z systemem operacyjnym Android TV.

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

Deklarowanie ekranu dotykowego nie jest wymagane

Aplikacje, które działają na urządzeniach telewizyjnych, nie wykorzystują ekranów dotykowych do wprowadzania danych. Aby było to jasne, należy zadeklarować w pliku manifestu aplikacji, że Funkcja android.hardware.touchscreen nie jest wymagana. To ustawienie określa, że Twoja aplikacja współpracuje z telewizorem i jest wymagany, aby aplikacja była uznawana za aplikację telewizyjną w Google. Graj. Poniższy przykładowy kod pokazuje, jak uwzględnić tę deklarację w pliku manifestu:

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

Uwaga: w manifeście aplikacji musisz zadeklarować, że ekran dotykowy nie jest wymagany. Jak widać w tym przykładowym kodzie. W przeciwnym razie aplikacja nie pojawi się w Google Play na telewizorze. urządzenia.

Dodaj ikonę i baner na ekran główny

Aplikacje na Androida TV muszą w każdej lokalizacji zawierać zarówno ikonę ekranu głównego, jak i obraz banera. W zależności od urządzenia z Androidem TV przy uruchamianiu aplikacji używana jest ikona lub baner. widoczny na ekranie głównym w wierszach aplikacji i gier.

Aby dodać je do swojej aplikacji, opisz ikonę i baner w pliku manifestu w ten sposób:

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

Ikona ekranu głównego

Aplikacje na Androida TV, tak jak wszystkie aplikacje na Androida, muszą zawierać ikonę na ekranie głównym. Sprawdzone metody określić dogodny punkt startowy dla aplikacji i poznać szczegółowe wymagania dotyczące zasobów, Ikona i baner aplikacji na Androida TV wytycznych.

Korzystanie z android:banner z atrybutem <application> pozwala udostępniać domyślny baner dla wszystkich działań w aplikacji lub tag <activity> pozwala przesłać baner dla określonej aktywności.

W przypadku banera użyj zasobu xhdpi o rozmiarze 320 x 180 pikseli. Tekst należy umieścić w sekcji . Jeśli aplikacja jest dostępna w więcej niż jednym języku, musisz dostarczyć osobne wersje baner z tekstem dla każdego obsługiwanego języka.

Zmienianie koloru programu uruchamiającego

Uwaga: w Androidzie 12 i nowszych niestandardowe animacje ekranu powitalnego utworzone za pomocą Interfejs API platformy SplashScreen nie jest obsługiwany w przypadku aplikacji na Androida TV.

Po uruchomieniu aplikacji TV system wyświetla animację, która przypomina rozwijaną, wypełnioną kręgu znajomych. Aby dostosować kolor tej animacji, ustaw android:colorPrimary. aplikacji telewizyjnej lub aktywności na określony kolor. Ustaw także dwa przejścia z atrybutów nakładania się na true, jak widać w tym fragmencie kodu z plik XML zasobu motywu:

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

Więcej informacji o pracy z motywami i stylami znajdziesz w artykule Style i motywy.

Tworzenie aplikacji na system operacyjny Android TV

Jetpack zawiera biblioteki pakietów androidx do użytku z aplikacjami na telewizory.

Utwórz na telewizorze

Tworzenie to zalecany sposób tworzenia aplikacji na system operacyjny Android TV. Oprócz głównej funkcji tworzenia wiadomości biblioteki Compose for TV zawierają specjalne komponenty przeznaczone Duży ekran:

Aby dowiedzieć się, jak utworzyć aplikację TV za pomocą funkcji Compose for TV, przeczytaj artykuł Korzystanie z Jetpack Compose na Androidzie TV.

Zestaw narzędzi interfejsu Leanback

Zestaw narzędzi interfejsu Leanback zawiera interfejsy API i widżety interfejsu dla telewizorów:

Dowiedz się, jak utworzyć aplikację na telewizory przy użyciu zestawu narzędzi interfejsu Leanback Tworzenie aplikacji do odtwarzania treści na telewizorze

Uruchamianie aplikacji TV

Uruchomienie aplikacji to ważna część procesu programowania. Możesz uruchomić aplikację na urządzenia telewizyjne skonfigurowane pod kątem debugowania USB lub korzystania z wirtualnych urządzeń telewizyjnych,

Uruchom na urządzeniu fizycznym

Skonfiguruj telewizor w ten sposób:

  1. Podłącz telewizor do komputera za pomocą kabla USB. W razie potrzeby znajdziesz w dokumentacji udostępnionej przez producenta urządzenia.
  2. Na telewizorze otwórz Ustawienia.
  3. W wierszu Urządzenie wybierz Informacje.
  4. Przewiń do sekcji Kompilacja i klikaj kilka razy Kompiluj, aż pojawi się komunikat. "Teraz jesteś programistą!"
  5. Wróć do Ustawień. W wierszu Ustawienia wybierz Opcje programisty.
  6. Wybierz Debugowanie > Debugowanie USB i wybierz Włącz.
  7. Wróć do ekranu głównego telewizora.

Aby przetestować aplikację na telewizorze:

  1. W Android Studio wybierz swój projekt i kliknij Uruchom na pasku narzędzi.
  2. W oknie Wybierz cel wdrożenia wybierz telewizor i kliknij OK.

Uruchamianie na urządzeniu wirtualnym

AVD Manager na Androidzie Pakiet SDK udostępnia definicje urządzeń, które pozwalają tworzyć wirtualne telewizory do uruchamiania testowania aplikacji.

Aby utworzyć telewizor wirtualny:

  1. Uruchom program AVD Manager. Więcej informacji: Tworzenie urządzeń wirtualnych i zarządzanie nimi
  2. W oknie dialogowym AVD Manager kliknij kartę Device Definitions (Definicje urządzeń).
  3. Wybierz jedną z definicji urządzeń z Androidem TV i kliknij Utwórz średni czas oglądania.
  4. Wybierz opcje emulatora i kliknij OK, aby utworzyć AVD.

    Uwaga: aby uzyskać najlepszą wydajność emulatora telewizora, użyj emulatora x86. i włącz opcję Use Host GPU (Użyj GPU hosta). Używaj akceleracji urządzenia wirtualnego również wtedy, gdy jest i dostępności informacji. Więcej informacji o akceleracji sprzętowej emulatora znajdziesz w artykule Skonfiguruj akcelerację sprzętową dla Emulator Androida.

Aby przetestować aplikację na telewizorze wirtualnej:

  1. W Android Studio wybierz swój projekt i kliknij Uruchom na pasku narzędzi.
  2. W oknie Wybierz cel wdrożenia wybierz telewizor wirtualny i kliknij OK.

Więcej informacji na temat używania emulatorów znajdziesz tutaj: Uruchamianie aplikacji przy użyciu emulatora Androida. Więcej informacji o wdrażaniu aplikacji z Android Studio do środowiska wirtualnego urządzeń, przeczytaj artykuł Debugowanie aplikacji.

Włącz uruchamianie aplikacji TV jako aplikacji błyskawicznej

Funkcje błyskawiczne ułatwiają użytkownikom aby wypróbować aplikację na telewizory i pomóc w zwiększeniu rozpowszechnienia.

Aby skonfigurować aplikację TV do działania jako aplikacji błyskawicznej na urządzeniu z Androidem TV lub w emulatorze: Najpierw postępuj zgodnie z instrukcjami, utworzyć pakiet aplikacji obsługujący aplikacje błyskawicznie.

Następnie w aplikacji intent-filter MainActivity, upewnij się, że zarówno LAUNCHER, jak i LEANBACK_LAUNCHER są zadeklarowane w 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>

Twoja aplikacja na telewizory jest teraz skonfigurowana do uruchamiania aplikacji błyskawicznej.

Przygotowywanie aplikacji na telewizory do publikacji

Przejrzyj listę kontrolną aplikacji telewizyjnych, aby poznać następne kroki. aby przygotować aplikację na telewizory do publikacji i rozpowszechniania.