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

Android zapewnia użytkownikom bogate wrażenia, które są zoptymalizowane pod kątem aplikacji działających na urządzeniach z dużym ekranem, takich jak telewizory o wysokiej rozdzielczości. Możesz zwiększyć grono odbiorców aplikacji, tworząc ją na Androida TV. Ten dokument zawiera wskazówki, jak to zrobić skutecznie.

Tworzenie aplikacji na telewizory

Aplikacje na telewizory korzystają z tej samej struktury co aplikacje na telefony i tablety. Dzięki temu możesz tworzyć nowe aplikacje na telewizory na podstawie swojej wiedzy o tworzeniu aplikacji na Androida lub rozszerzać istniejące aplikacje, aby działały również na urządzeniach TV.

Model interakcji z użytkownikiem w przypadku telewizorów różni się jednak znacznie od modelu na telefony i tablety. Aby aplikacja działała dobrze na urządzeniach z telewizorem, musisz zaprojektować nowe układy, które będą czytelne z odległości 3 metrów, oraz zapewnić nawigację, która działa tylko z użyciem pada kierunkowego i przycisku wyboru.

Więcej informacji o takich kwestiach, jak obsługa kontrolerów sterowania sprzętem telewizyjnym, tworzenie układów na telewizory i tworzenie nawigacji na telewizory, znajdziesz w artykule Tworzenie aplikacji na telewizory.

Korzystanie z Media3 ExoPlayer

Jetpack Media3 udostępnia interfejs odtwarzacza, który definiuje podstawowe funkcje, takie jak możliwość odtwarzania, wstrzymywania, przewijania i wyświetlania informacji o utworze. ExoPlayer to domyślna implementacja tego interfejsu w Media3.

W porównaniu z interfejsem MediaPlayer API w Androidzie oferuje on dodatkowe udogodnienia, takie jak obsługa wielu protokołów strumieniowania, domyślnych rendererów audio i wideo oraz komponentów obsługujących buforowanie multimediów.

ExoPlayer możesz dostosowywać i rozszerzać oraz aktualizować w ramach aktualizacji aplikacji Sklep Play. Więcej informacji znajdziesz w Media3 ExoPlayer.

Użyj Media3 MediaSession

Sesje multimediów stanowią uniwersalny sposób na interakcję systemu z odtwarzaczem audio lub wideo aplikacji. Jedną z głównych cech, która odróżnia 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 zadbać o wygodę użytkowników aplikacji do multimediów, musisz zaimplementować MediaSession. Aby to zrobić, zainicjuj zmienną Player i przekaż ją do zmiennej 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();

Automatyczne zarządzanie stanem

Biblioteka Media3 automatycznie aktualizuje sesję multimediów, korzystając ze stanu odtwarzacza. W związku z tym nie musisz ręcznie mapować odtwarzacza na sesję. Dzięki temu użytkownicy zawsze widzą aktualne informacje o odtwarzanych treściach, m.in. na karcie Co jest grane.

Sterowanie odtwarzaniem i reklamowanie go

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

Sesja multimediów jest kluczowa dla sterowania odtwarzaniem. Umożliwia ona kierowanie poleceń z zewnętrznych źródeł do odtwarzacza, który odtwarza Twoje multimedia. Klienci zewnętrzni mogą używać kontrolera multimediów do wydawania poleceń odtwarzania do Twojej aplikacji multimedialnej. Polecenia te są odbierane przez sesję multimediów, która ostatecznie deleguje je do odtwarzacza multimediów.

.

Więcej informacji o odtwarzaniu, np. o dostosowywaniu zachowania poleceń odtwarzania, znajdziesz w artykule Kontrolowanie i reklamowanie odtwarzania za pomocą MediaSession.

Unikaj zakłóceń w aplikacji

Korzystanie z usługi MediaSession pozwala uniknąć niepotrzebnych przerw, takich jak:

  • Nieoczekiwane i ciągłe odtwarzanie po wyłączeniu telewizora lub przełączeniu wejść telewizora. Spowoduje to również duże zużycie energii przez sprzęt telewizora. Dzięki temu aplikacja może informować platformę o tym, że odtwarza multimedia, a platforma może informować aplikację o możliwości zatrzymania odtwarzania.MediaSession

  • Odtwarzanie muzyki nieoczekiwanie zatrzymuje się po wyjściu z aplikacji lub wyłączeniu ekranu telewizora. Korzystanie z interfejsów API MediaSession umożliwia kontynuowanie odtwarzania w usłudze działającej w tle.

  • Ograniczona interakcja z treścią, która uniemożliwia użytkownikom kontrolowanie odtwarzania. Może to być na przykład powrót do aplikacji, która odtwarza muzykę w tle, lub obsługa poleceń głosowych. Dzięki MediaSession w aplikacji użytkownicy mogą używać poleceń głosowych do przewijania i przeskakiwania utworów lub odcinków.

Dalsze uwagi

Podczas rozszerzania aplikacji multimedialnej na Androida na telewizory musisz wziąć pod uwagę kwestie ułatwień dostępu, sposoby zwiększania zaangażowania użytkowników, umożliwianie im znajdowania treści oraz tworzenie gier i usług wejściowych na telewizory.

Ułatwienia dostępu na telewizorze

Chociaż technologie wspomagające mogą pomagać niedowidzącym użytkownikom, ważne jest, aby w przypadku aplikacji na telewizory wspierać ułatwienia dostępu w procesie odkrywania treści.

Zwróć na przykład szczególną uwagę na wskazówki dotyczące nawigacji i prawidłowe oznaczanie elementów oraz zadbaj o to, aby aplikacje na telewizory dobrze współpracowały z funkcjami ułatwień dostępu, takimi jak TalkBack. Dzięki temu użytkownicy z niepełnosprawnością wzroku będą mogli wygodniej korzystać z usługi.

Pierwszym krokiem na drodze do poprawy ułatwień dostępu jest uświadomienie. 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 na Google TV

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

Aby zapewnić uniwersalny sposób interakcji z odtwarzaczem audio lub wideo, musisz użyć MediaSession. Więcej informacji o wdrażaniu tej funkcji znajdziesz w artykule Korzystanie z MediaSession w Media3.

Twoja aplikacja musi obsługiwać Google Cast. Pozwala wzbogacić aplikacje na Androida, iOS i Chrome o możliwość strumieniowania dźwięku i wideo na urządzenia z Androidem TV, Chromecasty i urządzenia z Asystentem. Więcej informacji znajdziesz w dokumentacji Google Cast.

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

  • Odkrywaj treści na różnych platformach, oferując kanał działań związanych z mediami lub integrując funkcję „Warto obejrzeć”.

  • Wykorzystaj możliwości głosowe i zaangażowanie, wspierając łączenie kont, synchronizację uprawnień, przesyłanie głosu i funkcję Cast Connect.

  • Łatwiej płacić dzięki integracji z systemem płatności Google Play i bezproblemowemu pozyskiwaniu subskrypcji.

Tworzenie ramy źródła TV

Oglądanie programów telewizyjnych na żywo i innych ciągłych treści na kanałach jest ważną częścią korzystania z telewizji. Użytkownicy są przyzwyczajeni do wybierania i oglądania programów w telewizji przez przeglądanie kanałów. TVinput Framework tworzy kanały do publikowania idei lub treści muzycznych w przewodniku po programach telewizyjnych.

Framework wejścia TV zapewnia ujednoliconą metodę odbierania i odtwarzania treści wideo na żywo ze źródeł sprzętowych, takich jak porty HDMI i wbudowane tunery, oraz źródeł programowych, takich jak strumieniowe przesyłanie wideo przez internet. Więcej informacji znajdziesz w artykule Tworzenie usług wprowadzania danych na potrzeby telewizji.