Android TV с Google Cast

С выпуском Android 5.0 появляется Android TV, поддерживающий Google Cast. В этом документе описывается, что вам нужно сделать для настройки и тестирования на Android TV при разработке приложений Cast. Ваше существующее приложение Cast работает на Android TV без каких-либо дополнительных усилий. Если вы разрабатываете приложение Cast впервые, просмотрите документацию Google Cast и сначала разработайте приложение Cast для работы на устройстве Chromecast, прежде чем разрабатывать и тестировать его с Android TV.

Настройка для разработки

  1. Настройте свое устройство Android TV:
    1. Подключите устройство Android TV к локальной сети.
    2. Войдите в свою учетную запись Google.
  2. В разделе «Настройки» в строке «Устройство» выберите «О программе» .
  3. Прокрутите вниз и нажмите « Создать» несколько раз, пока не появится диалоговое окно с сообщением «Теперь вы разработчик».
  4. Если отладка по USB:
    1. Подключите USB-кабель, но пока не подключайте главный конец USB-кабеля к компьютеру.
    2. В строке «Настройки» выберите «Параметры разработчика» , выберите «Отладка по USB» и выберите « Вкл .».
  5. Вернитесь на главный экран. Это необходимо сделать, чтобы применить только что выбранные настройки. Настройки сохранятся, пока вы не выполните сброс настроек к заводским.
  6. Зарегистрируйте свое устройство Android TV в консоли разработчика Google Cast SDK , как описано в разделе «Регистрация устройства» .

Отладка

Чтобы протестировать и отладить приложение веб-ресивера на устройстве Android TV, выполните следующие действия:

  1. Зарегистрируйте свое устройство Android TV и свое приложение в консоли разработчика Google Cast SDK . Дополнительную информацию о регистрации устройств и приложений см. в разделе Регистрация .
  2. Запустите приложение-отправитель и выполните трансляцию на устройство Android TV.
  3. Подключитесь к устройству Android TV через ADB, как описано в разделе «Использование Android Debug Bridge» .
  4. На компьютере разработки откройте окно браузера Chrome и перейдите по адресу chrome://inspect .
  5. Щелкните ссылку проверки , чтобы перенести веб-приемник в отладчик.
  6. В консоли удаленного отладчика Chrome включите ведение журнала отладки, введя следующее:

    cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
    

См. раздел «Отладка» для получения дополнительной информации.

Рекомендации по совместимости Android TV

Чтобы сделать приложение Cast совместимым с Android TV, требуется совсем немного дополнительных усилий. Вот несколько рекомендаций и типичные ошибки, которых следует избегать, чтобы обеспечить совместимость вашего приложения с Android TV:

  • Имейте в виду, что строка пользовательского агента содержит как «Android», так и «CrKey»; некоторые сайты могут перенаправляться на сайт, предназначенный только для мобильных устройств, поскольку обнаруживают метку «Android». Не думайте, что «Android» в строке пользовательского агента всегда указывает на мобильного пользователя.
  • Медиа-стек Android может использовать прозрачный GZIP для извлечения данных. Убедитесь, что ваши медиаданные могут реагировать на Accept-Encoding: gzip .
  • Медиа-события Android TV HTML5 могут запускаться в другое время, чем Chromecast. Это может выявить проблемы, скрытые в Chromecast.
  • При обновлении мультимедиа используйте события, связанные с мультимедиа, запускаемые элементами <audio>/<video> , например timeupdate , pause и waiting . Избегайте использования сетевых событий, таких как progress , suspend и stalled , поскольку они, как правило, зависят от платформы.
  • При настройке сертификатов HTTPS вашего сайта веб-приемника обязательно включите промежуточные сертификаты CA. Посетите тестовую страницу Qualsys SSL, чтобы убедиться: если путь доверенной сертификации для вашего сайта включает сертификат CA с пометкой «дополнительная загрузка», он может не загружаться на платформах на базе Android.
  • Хотя Chromecast отображает страницу веб-приемника в графической плоскости 720p, другие платформы Cast, включая Android TV, могут отображать страницу с разрешением до 1080p. Убедитесь, что ваша страница веб-приемника корректно масштабируется при различных разрешениях.

Использование моста отладки Android

Платформа Android TV используется во многих видах бытовой электроники: телевизорах, приставках, игровых консолях и т. д. Каждый может быть настроен по-разному. Если у вас возникли трудности с доступом к ресурсам системы Android TV через пользовательский интерфейс устройства, вы можете использовать Android Debug Bridge (ADB) для получения серийного номера вашего устройства для регистрации, а также для отладки приложения. Дополнительную информацию см. в разделе Android Debug Bridge .

Использование ADB через Wi-Fi

Чтобы подключиться к вашему устройству через ADB с помощью Wi-Fi-соединения:

  1. На вашем устройстве Android TV включите параметры разработчика, как описано в разделе «Настройка для разработки» .
  2. Убедитесь, что ваш компьютер подключен к той же сети, что и ваше устройство Android TV.
  3. Откройте терминал и введите следующее:

    adb connect Android TV device IP address:4321
    
  4. На своем компьютере откройте терминал и введите команды ADB. Вы можете убедиться, что соединение установлено и что устройство Android TV обменивается данными по сети с помощью следующей команды:

    adb logcat

Использование ADB с USB-кабелем

Чтобы подключиться к устройству через ADB с помощью USB-кабеля:

  1. Настройте свое устройство Android TV для разработки, как описано в разделе Настройка для разработки .
  2. Подключите главный конец USB-кабеля к компьютеру.
  3. В разделе Разрешить отладку по USB? В диалоговом окне выберите «Всегда разрешать с этого компьютера» и нажмите «ОК» .
  4. На своем компьютере откройте терминал и введите команды ADB. Вы можете убедиться, что соединение установлено и что устройство Android TV обменивается данными по сети с помощью следующей команды:

    adb logcat

Использование ADB через TCP/IP

ADB работает без USB-кабеля через TCP/IP, но сначала необходимо получить IP-адрес устройства Android TV. Устройства, выпущенные разработчиком, автоматически прослушивают подключения порта ADB и могут быть подключены без инициализации порта. Стандартные розничные устройства Android TV не прослушивают соединения ADB автоматически; для этих устройств необходимо сначала подключиться к ADB с помощью USB-кабеля и инициализировать порт.

  1. Настройте свое устройство Android TV для разработки, как описано в разделе Настройка для разработки .
  2. На Android TV в строке «Устройство» выберите «Сеть» > «Wi-Fi» и выберите подключенную сеть.
  3. Выберите «Информация о состоянии» и запишите IP-адрес .
  4. Если ваше устройство является стандартным розничным устройством Android TV, выполните следующие действия:

    1. Выполните действия, описанные в разделе «Использование ADB с помощью USB-кабеля» .
    2. Убедитесь, что ваш компьютер подключен к той же сети, что и устройство Android TV.
    3. На вашем компьютере в терминале инициализируйте порт для TCP/IP, введя следующее:

      adb tcpip 5555
    4. Отсоедините USB-кабель и введите в терминал следующее:

      adb connect Android TV device IP address:5555
      
  5. Если ваше устройство Android TV выпущено разработчиком, выполните следующие действия:

    1. Убедитесь, что ваш компьютер подключен к той же сети, что и ваше устройство Android TV.
    2. Откройте терминал и введите следующее:

      adb connect Android TV device IP address:4321
      
  6. На Android TV в разделе «Разрешить отладку по USB?» В диалоговом окне выберите «Всегда разрешать с этого компьютера» и нажмите «ОК» . Вы можете убедиться, что соединение установлено и что устройство Android TV обменивается данными по сети с помощью следующей команды:

    adb logcat