Android zapewnia bogate wrażenia użytkownika, 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ć liczbę użytkowników swojej aplikacji, tworząc ją na Androida TV. W tym dokumencie znajdziesz wskazówki, jak to zrobić skutecznie.
Tworzenie aplikacji na telewizory
Aplikacje na telewizory mają taką samą strukturę jak aplikacje na telefony i tablety. Dzięki temu możesz tworzyć nowe aplikacje na telewizory na podstawie wiedzy o tworzeniu aplikacji na Androida lub rozszerzyć istniejące aplikacje, aby działały też na urządzeniach z Androidem TV.
Model interakcji użytkownika z telewizorem znacznie różni się od modelu interakcji z telefonem i tabletem. Aby Twoja aplikacja odniosła sukces na urządzeniach z Androidem TV, musisz zaprojektować nowe układy, które będą czytelne z odległości 3 metrów, oraz zapewnić nawigację działającą tylko za pomocą pada kierunkowego i przycisku wyboru.
Więcej informacji o kwestiach takich jak obsługa kontrolerów sprzętowych telewizora , 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 Player, który definiuje podstawowe funkcje, takie jak odtwarzanie, wstrzymywanie, przewijanie i wyświetlanie informacji o ścieżce. ExoPlayer to domyślna implementacja tego interfejsu w Media3.
W porównaniu z interfejsem MediaPlayer API Androida dodaje on dodatkowe udogodnienia, takie jak obsługa wielu protokołów strumieniowych, domyślne renderery audio i wideo oraz komponenty obsługujące buforowanie multimediów.
Możesz dostosowywać i rozszerzać ExoPlayer, a także aktualizować go za pomocą aktualizacji aplikacji w Sklepie Play. Więcej informacji znajdziesz w artykule Media3 ExoPlayer.
Korzystanie z Media3 MediaSession
Sesje multimedialne zapewniają uniwersalny sposób interakcji systemu z odtwarzaczem audio lub wideo w Twojej aplikacji. Jedną z głównych cech odróżniających Media3 od poprzednich interfejsów API multimediów jest to, że nie ma już potrzeby stosowania łą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. Ułatwia to znacznie prostszą interakcję między komponentami.
Więcej informacji znajdziesz w artykule Interfejs Player.
Więcej informacji o tworzeniu aplikacji do odtwarzania multimediów znajdziesz w artykule Tworzenie podstawowego odtwarzacza multimediów za pomocą ExoPlayer.
Aby zapewnić użytkownikom aplikacji do multimediów jak najlepsze wrażenia, musisz zaimplementować MediaSession. Aby to zrobić, zainicjuj Player i przekaż go do 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ę multimedialną na podstawie stanu odtwarzacza. Dlatego nie musisz ręcznie obsługiwać mapowania odtwarzacza na sesję. Dzięki temu użytkownicy zawsze widzą aktualne informacje o odtwarzanych multimediach, w tym na karcie „Co jest grane”.
Sterowanie odtwarzaniem i wyświetlanie reklam
W Media3 domyślnym odtwarzaczem jest klasa ExoPlayer, która implementuje interfejs Player. Połączenie sesji multimedialnej z odtwarzaczem umożliwia aplikacji przekazywanie informacji o odtwarzaniu multimediów źródłom zewnętrznym i otrzymywanie poleceń odtwarzania ze źródeł zewnętrznych. Sesja multimedialna przekazuje te polecenia do odtwarzacza aplikacji multimedialnej.
Sesja multimedialna jest kluczem do sterowania odtwarzaniem. Umożliwia kierowanie poleceń ze źródeł zewnętrznych do odtwarzacza, który odtwarza multimedia. Klienty zewnętrzne mogą używać kontrolera multimediów do wydawania poleceń odtwarzania aplikacji multimedialnej. Są one odbierane przez sesję multimedialną, która ostatecznie przekazuje polecenia do odtwarzacza.
Więcej informacji o odtwarzaniu, np. o tym, jak dostosować działanie poleceń odtwarzania , znajdziesz w artykule Sterowanie odtwarzaniem i wyświetlanie reklam za pomocą MediaSession.
Unikanie przerw w działaniu aplikacji
Korzystanie z MediaSession pozwala uniknąć niepotrzebnych przerw, takich jak:
Nieoczekiwane i ciągłe odtwarzanie po wyłączeniu telewizora lub przełączeniu wejść telewizora. Powoduje to również wysokie zużycie energii przez sprzęt telewizyjny. Dzięki
MediaSessionTwoja aplikacja może informować platformę, że odtwarza multimedia, a platforma może informować aplikację, że odtwarzanie może zostać zatrzymane.Nieoczekiwane zatrzymanie odtwarzania muzyki po przełączeniu się z aplikacji lub wyłączeniu wyświetlacza telewizora. Korzystanie z interfejsów API
MediaSessionumożliwia kontynuowanie odtwarzania w usłudze w tle.Ograniczona interakcja z treściami , która uniemożliwia użytkownikom sterowanie odtwarzaniem. Na przykład powrót do aplikacji, jeśli odtwarza ona muzykę w tle, lub obsługa poleceń głosowych. Dzięki
MediaSessionw aplikacji, użytkownicy mogą używać poleceń głosowych do przewijania i pomijania utworów lub odcinków.
Dodatkowe uwagi
Rozszerzając aplikację do multimediów na Androida TV, musisz wziąć pod uwagę kwestie związane z ułatwieniami dostępu, sposobami zwiększania zaangażowania, umożliwianiem użytkownikom znajdowania treści oraz tworzeniem gier i usług wejścia telewizyjnego.
Ułatwienia dostępu w telewizji
Chociaż technologie wspomagające mogą pomagać użytkownikom słabowidzącym, ważne jest, aby obsługiwać ułatwienia dostępu w przypadku aplikacji na telewizory.
Zwróć szczególną uwagę na wskazówki dotyczące nawigacji i prawidłowe etykietowanie elementów oraz upewnij się, że aplikacje na telewizory działają prawidłowo z funkcjami ułatwień dostępu, takimi jak TalkBack. Te kroki mogą znacznie poprawić komfort korzystania z aplikacji przez osoby niedowidzące.
Pierwszym krokiem do poprawy ułatwień dostępu jest świadomość. Więcej informacji o skalowaniu tekstu, układach klawiatury i opisach dźwiękowych znajdziesz w materiałach dotyczących ułatwień dostępu.
Sprawdzone metody zwiększania zaangażowania w Google TV
Wszystkie aplikacje utworzone na Androida TV działają na urządzeniach z Google TV. Aby zapewnić użytkownikom jak najlepsze wrażenia w Google TV, zalecamy stosowanie tych sprawdzonych metod.
Musisz użyć MediaSession, aby zapewnić uniwersalny sposób interakcji z odtwarzaczem audio lub wideo. Więcej informacji o tym, jak to zrobić, znajdziesz w artykule
Korzystanie z Media3 MediaSession.
Twoja aplikacja musi obsługiwać Google Cast. Umożliwia to rozszerzenie aplikacji na Androida, iOS i Chrome, aby umożliwić strumieniowanie audio i wideo na telewizory z Androidem, a także na urządzenia Chromecast i urządzenia z Asystentem. Więcej informacji znajdziesz w dokumentacji Google Cast.
Możesz też pomóc użytkownikom:
Odkrywać treści na różnych platformach, oferując kanał działań multimedialnych lub integrując funkcję Następne.
Korzystać z funkcji głosowych i zaangażowania, obsługując łączenie kont i synchronizację uprawnień, oferując przesyłanie głosowe i włączając Cast Connect.
Łatwiej płacić, integrując płatności w Google Play i zapewniając bezproblemowe subskrypcje.
Tworzenie struktury wejścia telewizyjnego
Oglądanie programów telewizyjnych na żywo i innych ciągłych treści opartych na kanałach jest ważną częścią korzystania z telewizora. Użytkownicy są przyzwyczajeni do wybierania i oglądania programów w telewizji przez przeglądanie kanałów. Struktura wejścia telewizyjnego tworzy kanały do publikowania treści wideo lub muzycznych w przewodniku po programach telewizyjnych.
Platforma wejścia telewizyjnego zapewnia ujednoliconą metodę odbierania i odtwarzania transmisji na żywo ze źródeł sprzętowych, takich jak porty HDMI i wbudowane tunery, oraz źródeł oprogramowania, takich jak filmy przesyłane strumieniowo przez internet. Więcej informacji znajdziesz w artykule Tworzenie usług wejścia telewizyjnego.