Udostępnij swoją aplikację do multimediów na Androidzie TV

Android zapewnia użytkownikom wygodę korzystania z aplikacji i są zoptymalizowane pod kątem aplikacji działających na urządzeniach z dużym ekranem, takich jak telewizory HD. Tworząc aplikację na Androida TV, zwiększ jej liczbę odbiorców. Ten dokument zawiera wskazówki, jak skutecznie to robić.

Tworzenie aplikacji TV

Aplikacje na telewizory mają taką samą strukturę jak aplikacje na telefony i tablety. Dzięki temu możesz tworzyć nowe aplikacje TV na podstawie swojej wiedzy o tworzeniu aplikacji na Androida lub rozszerzyć istniejące aplikacje tak, aby działały na telewizorach.

Jednak model interakcji użytkownika na telewizorze znacznie różni się od modelu interakcji użytkownika na telefonach i tabletach. Aby Twoja aplikacja odniosła sukces na telewizorach, musisz zaprojektować nowy układ, który będzie czytelny z odległości 3 metrów i zapewnić nawigację, która działa tylko za pomocą pada kierunkowego i przycisku wyboru.

Więcej informacji o obsłudze kontrolerów sprzętowych telewizora, tworzeniu układów telewizyjnych i tworzeniu nawigacji TV znajdziesz w artykule Tworzenie aplikacji na telewizor.

Używanie Media3 ExoPlayer

Jetpack Media3 ma interfejs odtwarzacza, w którym definiuje się podstawowe funkcje, takie jak odtwarzanie, wstrzymywanie, wyszukiwanie i wyświetlanie informacji o utworach. ExoPlayer to domyślna implementacja tego interfejsu w Media3.

W porównaniu z interfejsem MediaPlayer API na Androida zapewnia on dodatkowe udogodnienia, takie jak obsługa wielu protokołów strumieniowego przesyłania danych, domyślne mechanizmy renderowania dźwięku i obrazu oraz komponenty do buforowania multimediów.

Możesz dostosować i rozszerzyć ExoPlayer oraz aktualizować go za pomocą aktualizacji aplikacji w Sklepie Play. Więcej informacji znajdziesz w sekcji Media3 ExoPlayer.

Użyj Media3 MediaSession

Sesje multimediów to uniwersalny sposób na interakcję systemu z odtwarzaczem audio lub wideo aplikacji. Jedną z głównych cech odróżniających Media3 od poprzednich interfejsów API multimediów jest to, że nie trzeba już używać łączników między komponentami.

Nowa klasa MediaSession przyjmuje dowolną klasę, która implementuje interfejs Player. Zarówno ExoPlayer, jak i MediaController to klasy, które implementują ten interfejs. Dzięki temu interakcja między komponentami jest znacznie prostsza. Więcej informacji znajdziesz w artykule Interfejs odtwarzacza.

Więcej informacji o tworzeniu aplikacji do odtwarzania multimediów znajdziesz w artykule o tworzeniu podstawowego odtwarzacza multimediów przy użyciu ExoPlayer.

Aby zapewnić użytkownikom maksymalną wygodę korzystania z aplikacji do multimediów, musisz wdrożyć MediaSession. Aby to zrobić, zainicjuj Player i podaj go w MediaSession.Builder w ten sposób:

Kotlin

val player = ExoPlayer.Builder(context).build()
val mediaSession = MediaSession.Builder(context, player).build()

Java

ExoPlayer player = new ExoPlayer.Builder(context).build();
MediaSession mediaSession = new MediaSession.Builder(context, player).build();

Automatyczna obsługa stanu

Biblioteka Media3 automatycznie aktualizuje sesję multimediów na podstawie stanu odtwarzacza. Dzięki temu nie musisz ręcznie mapować odtwarzacza na sesję. Dzięki temu użytkownicy zawsze widzą aktualne informacje o odtwarzanych multimediach, w tym na karcie Teraz odtwarzane.

Sterowanie odtwarzaniem i reklamowanie go

W Media3 domyślnym odtwarzaczem jest klasa ExoPlayer, która implementuje interfejs odtwarzacza. Połączenie sesji multimediów z odtwarzaczem umożliwia aplikacji reklamowanie odtwarzania multimediów na zewnątrz i odbieranie poleceń odtwarzania ze źródeł zewnętrznych. Sesja multimediów przekazuje te polecenia do odtwarzacza aplikacji multimedialnej.

Sesja multimedialna jest kluczem do kontrolowania odtwarzania. Pozwala kierować polecenia ze źródeł zewnętrznych do odtwarzacza odtwarzającego multimedia. Klienty zewnętrzne mogą używać kontrolera multimediów do wydawania poleceń odtwarzania do aplikacji do multimediów. Są one odbierane przez sesję multimediów, która ostatecznie przekazuje polecenia do odtwarzacza.

Więcej informacji o odtwarzaniu, np. o tym, jak dostosować działanie polecenia odtwarzania, znajdziesz w artykule Sterowanie odtwarzaniem i reklamowanie go za pomocą MediaSession.

Unikaj zakłóceń w działaniu aplikacji

Korzystanie z usługi MediaSession pozwala uniknąć niepotrzebnych zakłóceń, takich jak:

  • Nieoczekiwane i ciągłe odtwarzanie po wyłączeniu telewizora lub przełączeniu wejścia. Wiąże się to też z wysokim zużyciem energii przez sprzęt telewizyjny. Dzięki MediaSession aplikacja może informować platformę, że odtwarza multimedia, a platforma – o tym, że odtwarzanie może zostać zatrzymane.

  • Odtwarzanie muzyki nieoczekiwanie zatrzymuje się po wyłączeniu aplikacji lub wyłączeniu ekranu telewizora. Użycie interfejsów API MediaSession umożliwia dalsze odtwarzanie treści w usłudze w tle.

  • Ograniczona interakcja z treściami, która uniemożliwia użytkownikom kontrolowanie odtwarzania. Dotyczy to na przykład powrotu do aplikacji, jeśli odtwarza muzykę w tle lub obsługuje polecenia głosowe. Dzięki MediaSession w aplikacji użytkownicy mogą używać poleceń głosowych do wyszukiwania i pomijania utworów oraz odcinków.

Co jeszcze warto wziąć pod uwagę

Rozszerzając swoją aplikację do multimediów na Androida na telewizory, weź pod uwagę problemy z ułatwieniami dostępu, zwiększanie zaangażowania użytkowników, umożliwianie użytkownikom znajdowania treści oraz tworzenie gier i usług wejściowych do telewizora.

Ułatwienia dostępu na telewizorze

Chociaż technologie wspomagające osoby z niepełnosprawnością mogą być przydatne dla użytkowników niedowidzących, ważne jest, aby w aplikacjach na telewizory były dostępne ułatwienia dostępu do treści podczas odkrywania treści.

Zwróć na przykład szczególną uwagę na udostępnianie wskazówek nawigacyjnych i prawidłowe oznaczanie elementów etykietami. Zadbaj też o to, by aplikacje na telewizory dobrze współpracowały z funkcjami ułatwień dostępu takimi jak TalkBack. Te czynności mogą znacznie ułatwić użytkownikom z wadą wzroku.

Pierwszym krokiem w poprawie dostępności jest zwiększanie świadomości marki. Więcej informacji o skalowaniu tekstu, układach klawiatury i audiodeskrypcjach znajdziesz w zasobach dotyczących ułatwień dostępu.

Sprawdzone metody zwiększania zaangażowania w Google TV

Wszystkie aplikacje na Androida TV działają na urządzeniach z Google TV. Aby zapewnić użytkownikom Google TV jak najlepsze wrażenia, zalecamy zastosowanie tych sprawdzonych metod.

MediaSession to uniwersalny sposób na interakcję z odtwarzaczem audio lub wideo. Więcej informacji o implementowaniu tej funkcji znajdziesz w artykule o korzystaniu z Media3 MediaSession.

Aplikacja musi obsługiwać Google Cast. Umożliwia ona rozszerzenie działania aplikacji na Androida, iOS i Chrome do strumieniowania audio i wideo na telewizorach z Androidem TV, Chromecastach i urządzeniach z Asystentem. Więcej informacji znajdziesz w dokumentacji Google Cast.

Możesz też pomóc użytkownikom:

  • Odkrywaj treści na różnych platformach, udostępniając kartę działań multimedialnych lub integrując Warte obejrzenia.

  • Wykorzystaj możliwości głosu i zaangażowania dzięki obsłudze łączenia kont i synchronizacji uprawnień, przesyłaniu głosu oraz włączeniu Cast Connect.

  • Łatwiejsze płatności dzięki integracji płatności w Google Play i sprawnym prowadzeniu subskrypcji.

Utwórz platformę wejścia TV

Oglądanie telewizji na żywo i innych ciągłych treści z kanałów to ważny element telewizji. Użytkownicy są przyzwyczajeni wybierać i oglądać seriale w telewizji według przeglądania kanałów. Platforma sygnału telewizyjnego tworzy kanały do publikowania idei lub treści muzycznych w programie telewizyjnym.

Platforma wejścia TV zapewnia ujednoliconą metodę odbierania i odtwarzania transmisji wideo na żywo ze źródeł sprzętowych, takich jak porty HDMI i wbudowane tunery, a także źródła oprogramowania, np. filmy przesyłane strumieniowo przez internet. Więcej informacji znajdziesz w artykule na temat tworzenia usług wejściowych dla telewizora.