Разработка Android TV приложения: навигация, плеер, Google TV

Пользователь нажимает «вниз» на пульте — фокус прыгает в конец списка, минуя кнопку «Избранное». Знакомая ситуация? Это классическая ошибка Focus Engine в Android TV приложениях. Мы проектируем мультимедийные приложения, в которых навигация предсказуема, плеер адаптируется под экран, а контент попад

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка Android TV приложения: навигация, плеер, Google TV
Сложный
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Пользователь нажимает «вниз» на пульте — фокус прыгает в конец списка, минуя кнопку «Избранное». Знакомая ситуация? Это классическая ошибка Focus Engine в Android TV приложениях. Мы проектируем мультимедийные приложения, в которых навигация предсказуема, плеер адаптируется под экран, а контент попадает в рекомендации Google TV. Разработка ведётся под ключ — от прототипа до публикации в Google Play. За 5 лет мы реализовали 12 OTT-проектов, накопленный опыт гарантирует качество и соответствие требованиям Google.

Как Android TV отличается от Google TV?

Google TV — надстройка над Android TV с другим лаунчером и требованиями к контенту. Приложение для Android TV может некорректно отображаться на Google TV из-за различий в обработке рекомендаций и deep link. Учитываем это на этапе проектирования, чтобы избежать проблем после релиза.

Как настроить D-pad навигацию в сложных макетах?

Главное отличие от мобильной разработки — пользователь управляет D-pad пульта. Фокус перемещается через Android Focus Engine, но вложенные горизонтальные RecyclerView внутри вертикального (Netflix-паттерн) ломают логику: при нажатии «вниз» фокус может перескочить в конец экрана. Решение — кастомный LinearLayoutManager с переопределённым onInterceptFocusSearch(). Без этого пользователь не добирается до нужного ряда.

Библиотека Leanback (androidx.leanback) предоставляет BrowseSupportFragment и RowsSupportFragment с нативной поддержкой D-pad, но она считается устаревшей. Jetpack Compose для TV (androidx.tv:tv-compose) предлагает TvLazyRow и TvLazyColumn с декларативным управлением фокусом. Для новых проектов выбираем Compose TV, для legacy — Leanback.

Характеристика Leanback Compose TV
Архитектура Фрагменты, View Декларативная Compose
Навигация Автоматическая, ограниченная Кастомная через FocusRequester
Производительность Выше на старых устройствах Лучше на новых (API 24+)
Скорость разработки Ниже из-за шаблонов Выше, меньше кода
Поддержка Google TV Ограниченная Полная

Как интегрировать ExoPlayer с адаптивным качеством?

androidx.media3:media3-exoplayer — стандарт для Android TV. Критично правильно настроить TrackSelector: выбор видео трека должен учитывать разрешение дисплея, а не просто брать максимальное — 4К на 1080p экране зря тратит пропускную способность. DRM Widevine L1 доступен на сертифицированных устройствах (SHIELD TV, Chromecast с Google TV). Проверяем уровень через MediaDrm.isCryptoSchemeSupported(WIDEVINE_UUID) и запрос securityLevel. Media3 документация рекомендует такой подход.

Интеграция с рекомендациями Google TV

Google TV отображает персонализированные рекомендации из приложений через API WatchNextPrograms. Требуется ContentProvider для заполнения прогресса просмотра, обновления статуса и удаления завершённых программ. Fire TV использует другой механизм — App-to-App Communication через Intent для deep link в контент.

Как проходит разработка: пошагово

  1. Анализ требований к контенту, монетизации и целевой платформе.
  2. Проектирование навигации и focus-менеджмента.
  3. Интеграция ExoPlayer с кастомными настройками треков и DRM.
  4. Реализация рекомендаций Google TV (WatchNext Programs).
  5. Тестирование на 5+ устройствах (NVIDIA Shield, Chromecast с Google TV, Xiaomi Mi Box, TCL TV, Sony Bravia).
  6. Подготовка графики для лаунчера и иконок.
  7. Сборка и публикация в Google Play с соблюдением Android TV developer guide.
  8. Техническая поддержка после релиза (1 месяц).

Сертификация и публикация в Google Play

Приложение публикуется с <uses-feature android:name="android.software.leanback"/> и <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>. Последнее обязательно — без него Play Store не покажет приложение на TV. Google проверяет: навигация доступна с D-pad, нет зависимостей от тача, корректно обрабатываются KEYCODE_BACK и KEYCODE_DPAD_*.

Что входит в работу

  • Исходный код с комментариями и документация по сборке.
  • Конфигурация CI/CD (GitHub Actions, Fastlane) для автоматической публикации в TestFlight и Google Play.
  • Доступы к консолям разработчика (App Store Connect, Google Play Console).
  • Тестовый отчёт по 5 устройствам с разными версиями ОС.
  • Обучение команды заказчика по работе с админкой контента.
  • Пост-релизная поддержка в течение 1 месяца (исправление критических багов).

Типичные ошибки при разработке

  • Игнорирование Focus Engine — пользователь не может добраться до кнопок.
  • Отсутствие обработки KEYCODE_BACK — приложение не закрывается.
  • Неправильная конфигурация TrackSelector — буферизация 4K на 1080p экране.
  • Пропуск метаданных для Google TV — нет рекомендаций.
  • Забытая зависимость android.hardware.touchscreen:false — приложение не видно.

Сроки и стоимость

Тип приложения Сроки
Информационное на Leanback от 5 до 9 недель
VOD с DRM, рекомендациями, офлайном от 12 до 20 недель

Стоимость рассчитывается индивидуально после анализа контента и монетизации. Бесплатно оценим ваш проект. Свяжитесь с нами, чтобы обсудить детали. Получите консультацию по вашему проекту.