Translate

пятница, 23 ноября 2018 г.

В чем разница между телевизором Android TV и телевизором на базе Android?

Всем привет -- много времени прошло с момента предыдущего поста, и в этот раз в двух словах не о жизни, а о технологиях.

Часто приходится сталкиваться с тем, что люди не видят разницы или не понимают, что такое Android TV, и отличается ли чем-то Android TV от телевизора на базе Android. А когда покупают некое творение не сильно известного бренда в сфере производства телевизоров, расчитывая на Android TV, оказывается затем мучительно больно - обнаруживают, что там не Google Pay Market или что он есть, но не работает, или есть и работает, но платежи нормально не проходят, или еще что-то. Попробуем же разобраться в отличиях с точки зрения платформы.


Телеки на Андроид бывают как на официальном Android TV, так и на т.н. Android Open Source Project (AOSP или просто Android). Так а в чем отличия?

В целом об Android


С выпуском каждой версии Android Google публикует открытый код, который каждый желающий сделать девайс на Андроид может использовать. Это может быть как смартфон, так и ТВ на базе Android. Но в этом коде, скажем так, нет многих необязательных, но существенных и удобных для юзера элементов, таких как Google Play Market (доступ к массе готовых приложений), Google Pay (платежи), и другие элементы, присущих полноценному Android TV. Вот что говорит Гугл по поводу opensource:
Uncontrolled customization can, of course, lead to incompatible implementations. To prevent this, the Android Open Source Project also maintains the Android Compatibility Program, which spells out what it means to be "Android compatible" and what is required of device builders to achieve that status. Anyone can (and will!) use the Android source code for any purpose, and we welcome all legitimate uses. However, in order to take part in the shared ecosystem of applications we are building around Android, device builders must participate in the Android Compatibility Program.
Другими словами, Гугл говорит, что код и использовать для создания продукта может любой и каждый, но если ты как разработчик хочешь воспользоваться преимуществами экосистемы, которая построена на базе Android (например, иметь полноценно работающий Google Play Market), тебе необходимо принять участие в программе совместимости Android Compatibilitz Program.

Android TV


Сильно обощая, это телек, который прошел сертификацию Гугла, и на таких девайсах работа приложения для Android TV гарантируется. Это официальный девайся на основе Android, сертифицированный Гуглом, там интегрированы т.н. Google Play Services, в т.ч. Google Pay. Если брать вендоров, то это, к примеру, тикие А-бренды как Sony Android TV, Philips Android TV.
Плюсы вендора от участия в этой программы - полный пакет софта от Гугла + все доп. услуги и сервисы, интегрируешься, сертифицируешься, и можешь смело заявлять рынку, что твой ТВ на базе Android TV (да, без разрешения Гугла вендоры не имеют права коммуницировать, что их ТВ -  это Android TV, даже если они построены на базе Android).

Кроме того, сертифицированные Android TV используют специальный т.н. The Android TV Input Framework, что позволяет вендорам, кроме прочего, не только гибко интегрировать в Android TV данные, которые поставляет обычная вещательная телевизионная эфирная сеть, а так же оперировать этой информацией:
The Android TV Input Framework (TIF) simplifies delivery of live content to Android TV. The Android TIF provides a standard API for manufacturers to create input modules for controlling Android TV, and enables live TV search and recommendations via metadata published by the TV Input.
И исключительн важно:
The TIF works with the TV App, a system app that can’t be replaced by a third-party app.
Т.е. без такого приложения и функциональности значительно ухудшается опыт пользовательского взаимодействия с ТВ.

С другой стороны, создание таких сертифицированных моделей "влетает в копеечку" для вендора, поэтому только достаточно крупные игроки на сегодня имеют официалные Android TV, а все, кто хочет максимально удешевить свои ТВ, идут путем использования открытого кода. Так  появляются девайсы на Андроде всех мастей и видов, о чем дальше.

 

Android Open Source Project (AOSP)


Зачастую, это китайские производители, и все, кто использует открытый код Андроид для построения своих девайсов. На базе AOSP может быть построен как смартфон, так и ТВ. Глубокая кастомизация, гибкость настройки согласно пожеланиям и дизайну вендора, с одной стороны, с другой -  трудозатраты по доведению платформы до работоспособного состояния, написание тех недостающих частей и промежуточных модулей, которые есть в официальном Андроид, и, что немаловажно, невозможность использовать Google Services: маркет, платежи и т.п. Именно поэтому вендоры, стремясь наполнить свой "ящик на Андроиде" хоть какими-то приложениями, ставят туда сторонние маркеты по примеру Aptoide или любые другие. И, конечно, такие производители не имеют права называть свой ТВ Android TV, иначе тут же "прилетит" от Гугла.

Вот, собственно, и вся та разница между Android TV и ТВ на базе Android (Android Open Source Project - AOSP), которой достаточно для общей ориентации в вопросе.

 

Практические выводы из сказанного для владельцев приложений


С точки зрения разработчика приложения важен вот такой момент. Приложение для Android TV может успешно работать и на AOSP TV, но работа такого приложения не гарантируется, и нужны тесты. Так как каждый вендор имеет свое видение реализации всех функций в AOSP TV, необходмо брать семпл каждого такого вендора и проверять там работу приложения. Где-то может не работать клавиатура, где-то - оплаты, где-то еще что-то. Это тяжкая история для разработки, потому что по сути нужно обеспечивать работоспособность приложения с каждым вендором в отдельности и затем поддержвать эти ветки разработки. Но если это крупный вендор, и число устройств значительно, а количество новых юзеров в приоритете, то деваться некуда - нужно обеспечивать.

Очевидно, что на AOSP доля телеков растет стремительно, и мы не можем игнорировать таких производителей, поэтому по мере возможности нам так или иначе придется влкючаться в процесс обеспечения совместимости приложений для Android TV с множеством вендоров на базе AOSP.

Нравится, поделюсь!