Android TV 개발 – 큰 화면이 옵니다. 준비하세요!

게시 됨: 2022-03-11

Google은 휴대폰과 시계, 자동차 및 스마트 TV 세트에 이르기까지 모든 것에 Android를 도입하고자 합니다. 먼저, 완전한 공개를 위해 스마트 TV 플랫폼에 관해서는 다소 편향되어 있음을 말해야하므로 방해가되지 않도록하겠습니다. 시장에 나와 있는 모든 스마트 TV 플랫폼이 전부는 아니더라도 대부분은 정말 끔찍하다고 생각합니다. 하지만 그건 저뿐입니다. Google은 더 잘할 수 있다고 생각하고 소비자와 기술 애호가 모두에게 실제로 더 잘할 있다고 믿거나 최소한 그럴 수 있기를 바랍니다.

안드로이드 TV

그렇다면 안드로이드 TV는 무엇일까요? 많은 사람들이 2010년에 출시된 없어진 플랫폼인 Google TV와 혼동합니다. Google, Sony, Intel 및 Logitech에서 개발했지만 주목을 받지 못했습니다. 2014년 중반에 공식적으로 Android TV로 대체되었으며 이 새로운 플랫폼은 소비자와 개발자 모두에게 훨씬 더 흥미진진합니다.

Google TV와 달리 Android TV는 표준 Android에 훨씬 가깝습니다. Android 5.0(최소한 초기 출시 버전)을 실행하며 새 TV와 독립 실행형 장치에서 사용할 수 있습니다. Android TV가 저렴한 Android TV 상자와 스틱에 탑재되어 수백만 대의 구형 TV에 동일한 사용자 경험을 제공할 것이기 때문에 이는 좋은 소식입니다. 실제로 Android TV를 탑재한 최초의 기기는 TV가 아니라 Google의 Nexus Player입니다. 이것은 또한 과거에 다양한 스마트 TV 플랫폼에 대해 제기된 가장 큰 불만 중 하나인 일관성 부족을 해결합니다. Android TV는 호환되는 모든 기기에서 거의 동일한 사용자 경험을 제공해야 합니다.

혁명은 방송되지 않고 스트리밍될 것입니다

새로운 기능이 제공되는 한 Android TV는 Google Cast에 대한 지원도 도입합니다. Chromecast 스틱의 Google Cast에 익숙할 것입니다. 이 기술은 이미 수백 개의 앱과 서비스에서 지원되며 더 많은 서비스가 제공될 예정입니다. Google Cast를 사용하면 Android TV 기기가 다양한 기기에서 스트리밍 콘텐츠를 수신할 수 있습니다. 구현은 Google Cast API를 사용하여 간단하며 Google Cast 개발 사이트에서 필요한 모든 정보를 찾을 수 있습니다.

이것은 Google이 케이블 회사를 "멍청한 파이프"로 만들고 단순히 콘텐츠가 아닌 대역폭을 사용하기를 원한다는 것을 의미합니까? 실제로는 아니지만 특히 스마트 TV 플랫폼이 확산됨에 따라 모든 것이 가능합니다.

그러나 스트리밍이 Google의 유일한 트럼프 카드는 아닙니다.

Android TV는 또한 커뮤니케이션, 게임, 홈 자동화 등을 위한 새로운 기회를 제공합니다. Android TV는 Android 또는 기타 플랫폼을 실행하는 모든 종류의 연결된 기기의 허브가 될 수 있습니다. 이를 사용하여 문 앞에 누가 있는지 확인하고, 에어컨이나 연결된 온도 조절기를 조정하고, 80년대 액션 클래식을 보면서 RGB LED 전구를 TV와 동기화할 수도 있습니다.

안드로이드 TV 개발

물론 이 중 일부는 눈속임으로 들릴 수 있지만 Android TV는 눈속임용이 아닙니다. Android Wear 또는 Android Auto와 같은 틈새 플랫폼이 아닙니다. 얼마 전까지만 해도 스마트 TV와 스마트폰은 매니아들만이 구매했지만, 지금은 피처폰과 기존 TV가 거의 사라졌습니다. Android TV는 수백만 가정의 TV에 탑재될 것입니다. 정말 의심의 여지가 없습니다.

사용자 기반이 빠르게 성장하여 Android TV 앱 개발을 위한 새로운 플랫폼을 다루는 위험을 완화할 것이기 때문에 이는 Android 개발자에게 희소식입니다.

Android TV – 보닛 아래에 무엇이 있습니까?

하드웨어에 관한 한 Android 표준 FHD 화면(1080p)과 UHD(3840x2160)를 볼 수 있습니다. 또한 일부 제조업체가 향후 언젠가 Android TV를 곡선형 21:9 장치로 가져올 가능성도 있지만 당분간은 16:9 패널에 초점이 맞춰질 것입니다. UI 디자이너는 이것을 염두에 두어야 합니다.

Android 5.0(API 레벨 21)을 기반으로 하고 ART를 사용하기 때문에 대부분의 Android TV 하드웨어에는 64비트 프로세서가 탑재됩니다. Nexus Player는 Intel Atom 프로세서를 기반으로 하며, 곧 출시될 많은 Android TV에는 MediaTek의 MT5595 프로세서가 탑재될 것이며, 이전 게시물에서 이미 다룬 Nvidia의 Shield 콘솔은 Tegra X1 프로세서를 사용합니다. Intel과 Nvidia의 SoC(System-on-Chip) 제품은 64비트 CPU 코어를 기반으로 하는 반면 MediaTek은 32비트 Cortex-A17 및 Cortex-A7 코어를 사용합니다.

모든 Android TV 하드웨어는 HEVC 및 VP9 디코딩을 지원해야 하며 이러한 칩의 대부분은 한 번에 여러 개의 비 UHD 스트림을 처리할 수 있습니다. UHD 콘텐츠를 초당 60프레임으로 전송하는 것도 문제가 되지 않습니다. 빠른 듀얼 밴드 무선도 탑재되어 UHD 스트림에 충분한 대역폭을 제공합니다.

Android TV 하드웨어 플랫폼은 많은 미들웨어에 의존하고 모든 지역 및 시장을 포괄하는 여러 방송 표준을 준수합니다.

하드웨어에 대해 이질적인 것은 없으며 개발자는 크게 걱정할 필요가 없습니다. 많은 Android 5.0 DNA는 소프트웨어 측면에서 원활한 전환을 보장하지만 염두에 두어야 할 몇 가지 사항입니다.

Android, 큰 화면으로 전환

이 모든 것이 개발자에게 무엇을 의미합니까? Android TV 개발은 간단해 보이지만 사양을 한 눈에 봐도 전체 그림이 그려지지 않습니다. 많은 개발자와 디자이너는 집과 같은 편안함을 느껴야 하지만 사용자가 집과 같은 편안함을 느낄 수 있도록 해야 합니다. 결국 Android TV는 거실용으로 설계되었기 때문입니다.

좋은 소식부터 시작하겠습니다. 대부분의 Android TV 장치는 2가지 해상도에서 16:9 패널을 사용하므로 많은 항목이 표준화됩니다. 이렇게 하면 일관성을 개선하는 데 도움이 되며 테스트가 다소 쉬워집니다.

  • 하나의 종횡비, 16:9로 작업합니다(21:9 장치가 미래에 나타날 수도 있음).
  • FHD와 UHD 2가지 해상도로 디자인 하였으며 화면 크기에 따라 밀도만 다릅니다.
  • 표준화된 UI 요소를 많이 사용합니다.
  • 터치 입력에 대해 생각할 필요가 없습니다.
  • 처리해야 할 센서가 많지 않습니다.
  • 전력 효율성은 관련이 없습니다.

그러나 Android TV 앱 개발은 또한 해결해야 할 여러 가지 새로운 과제를 안고 있습니다. TV 자체에는 터치 입력이 없으므로(태블릿과 휴대폰을 입력으로 사용할 수 있음) 리모컨, 타사 에어마우스 장치, 키보드, 게임 컨트롤러 등과 같은 다른 입력 방법을 처리해야 합니다. . 이동해야 하는 기존 Android 항목도 많이 있습니다(예: 세로 모드가 없음). 픽셀 밀도 변화가 훨씬 더 크며 터치 입력 부족은 일부 개발자에게 문제가 될 수 있습니다.

다음은 몇 가지 과제입니다.

  • 한 번에 여러 컨트롤러를 지원합니다.
  • 다양한 유형의 컨트롤러(예: 표준 리모컨 및 게임 컨트롤러)를 지원합니다.
  • 보드에 몇 개의 센서.
  • 일부 장치에서는 오버스캔이 문제일 수 있습니다.
  • 동일한 해상도에서도 매우 다른 픽셀 밀도(TV는 태블릿 및 휴대폰보다 훨씬 더 많은 크기로 제공됨).
  • 불필요한 요소를 제거하십시오.

이러한 문제 중 일부를 자세히 살펴보겠습니다. Android TV는 미디어 허브로 사용되기 때문에 사람들은 하나 이상의 컨트롤러를 사용하고 싶어할 것입니다. 일부 사용자는 Bluetooth 키보드를 원할 수 있고 다른 사용자는 멀티플레이어 작업을 위해 2개의 게임 컨트롤러를 사용할 수 있습니다. 좋은 소식은 표준 Android 게임 컨트롤러 입력을 게임과 같은 UI 및 앱에 사용할 수 있기 때문에 추가 컨트롤러 입력 지원을 구현하기 위해 사용자 지정 코드가 필요하지 않을 수 있다는 것입니다. 그러나 둘 이상의 입력 장치를 지정해야 할 수 있으며 더 많은 이국적인 컨트롤러에 대한 지원을 추가해야 하는 경우 약간의 조정이 필요할 수 있습니다.

안드로이드 TV 여러 장치

대부분의 Android TV는 제한된 센서 패키지와 함께 제공됩니다. TV에 GPS가 필요한 이유는 무엇입니까? 이것이 TV 장치에서 사용할 수 없는 하드웨어 기능에 대한 지원을 비활성화해야 하는 이유입니다. 모든 것을 분류하는 방법에 대한 자세한 정보가 많이 있습니다. 기본적으로 지원되지 않는 센서를 false 로 플래그 지정하면 됩니다.

또한 Android 앱 매니페스트를 살펴보고 기능 부족으로 인해 Android TV 기기를 제외할지 여부를 확인해야 합니다.

예를 들어, 표준 ACCESS_FINE_LOCATION 권한은 GPS를 사용합니다. 탑재된 GPS가 없으므로 앱 매니페스트에는 다음이 포함되어야 합니다.

 <uses-feature android:name="android.hardware.gps" android:required="false"/>

따라서 ACCESS_FINE_LOCATIONACCESS_COARSE_LOCATION 으로 변경해야 합니다. 플랫폼의 다른 측면에도 동일한 원칙이 적용되며 자세한 내용은 Google에서 확인할 수 있습니다. 확인하고 싶은 또 다른 리소스는 Nvidia의 Android TV 개발자 가이드입니다.

다른 Android 프로젝트의 항목을 재사용할 생각이라면 이 점을 염두에 두는 것이 좋습니다. 그렇지 않으면 TV에서 세로 모드로 메뉴를 열려고 하는 앱이 생길 수 있으며, 이는 다음 요점으로 안내합니다.

Android TV 10피트 UI

Android TV는 기본적으로 Android 5.0이지만 사용자 인터페이스는 우리가 알고 있는 기본 Android와 거의 관련이 없습니다. 스마트 TV 플랫폼은 "10피트" 접근 방식을 사용합니다. 이는 기본적으로 사용자 경험이 스마트폰이나 태블릿보다 약 10배 더 많은 화면에서 10피트에 최적화되어 있음을 의미합니다.

10피트 TV 개념

"10피트" 개념은 스마트 TV 플랫폼보다 앞선 것입니다. 또한 온스크린 디스플레이(OSD) 디자인, 게임 콘솔 대시보드 디자인에도 사용되었으며 일반적으로 주류 5.1 서라운드 시스템에 사용되었습니다. 그렇다면 사용자 경험과 UI 디자인은 무엇을 의미할까요?

글쎄요, 디자이너는 저렴한 37인치 1080p TV부터 UHD의 65인치 또는 75인치 괴물에 이르기까지 다양한 패널에서 모든 것이 제대로 보이는지 확인해야 합니다. UI는 화면 크기에 관계없이 FHD 및 UHD에서 잘 작동해야 합니다. 우리는 몇 가지 다른 해상도를 다루고 있지만 픽셀 밀도(인치당 픽셀 수 또는 ppi)는 매우 다양합니다.

다음은 몇 가지 예입니다.

  • 42인치 UHD 패널 – 105ppi
  • 42인치 FHD 패널 – 52ppi
  • 50인치 UHD 패널 – 88ppi
  • 50인치 FHD 패널 – 44ppi
  • 55인치 UHD 패널 – 80ppi
  • 65인치 UHD 패널 – 67ppi
  • 32인치 FHD 패널 – 69ppi

패널 크기가 30-40인치 범위인 Android TV에서 UHD 패널을 볼 가능성은 거의 없지만 이 부문에서 작동하는 FHD 장치를 많이 볼 수 있을 것입니다. 많은 소비자는 기존 1080p TV 세트를 교체하기보다 단순히 나가서 새 Android TV 상자를 구입할 것입니다. 많은 TV 제조업체가 40인치 이상 모델에서 4K 패널을 사용하기 시작할 것이지만 개발자는 여전히 레거시 지원에 대해 생각할 필요가 있습니다.

안드로이드 텔레비전

이것이 오버스캔이 문제가 될 수 있음을 염두에 두어야 하는 이유이기도 합니다. Android TV 셋톱 박스로 개조된 많은 TV는 베젤 쪽으로 화면 공간을 일부 잃게 됩니다. 비디오에 익숙한 사람은 이미 세이프 프레임(액션 세이프 및 타이틀 세이프)에 대해 한두 가지 알고 있습니다. 이것은 표준 화질 CRT 텔레비전 세트의 시절로 되돌아간 것입니다. 그러나 여전히 안전을 유지하고 가장자리 근처에 중요한 UI 요소를 배치하지 않는 것이 좋습니다. 최소한 5%의 영역에 중요한 콘텐츠가 없도록 하고 정말 중요한 UI 요소에는 더 안전한 여백을 사용하세요. 10%는 트릭을 수행해야 하지만 완전히 안전하려면 더 많은 것을 사용할 수 있습니다.

이 특정 문제는 태블릿이나 스마트폰 에는 존재하지 않습니다 . 다행히도 Google이 이를 고려하지 않았다는 의미는 아니므로 오버스캔 지원이 Android TV(및 실제로 다른 버전의 Android 포스트 4.2.x)에 내장되어 있습니다. OpenGL을 사용할 생각이라면 이 문제도 해결해야 합니다.

Overscan은 진정한 Android TV에서는 문제가 되지 않을 수 있지만 애프터마켓 Android TV 솔루션에서는 큰 문제가 될 수 있습니다. 모든 사람이 몇 년마다 TV를 업그레이드하고 싶어하는 것은 아니며 많은 사람들이 대신 Android TV와 함께 50달러의 HDMI 동글을 얻게 될 것입니다. 이것이 Android TV 앱에 오버스캔 구성 옵션을 포함 하는 것이 좋은 이유입니다.

또 다른 좋은 아이디어는 다중 화면 지원을 다루는 Google의 모범 사례를 확인하는 것입니다. 간단하지만 중요합니다. 앱 매니페스트에 "호환 가능한 화면"을 추가로 포함해야 할 가능성이 있습니다.

Android TV 사용자 경험 개선

사용자 경험은 항상 스마트 TV 플랫폼의 문제였습니다. Android TV는 제대로 만들어진 Google TV이며 UX를 개선해야 하지만 즉시 사용해서는 안 됩니다. 개발자는 많은 작업을 수행해야 합니다.

좋은 소식은 TV가 실제로 많은 사용자 입력과 참여가 필요하지 않다는 것입니다. 어떤 소파 감자도 그것을 증명할 것입니다! TV 제조업체는 이미 스마트 TV 인터페이스를 연마하고 더 빠르고 매끄러운 UI와 새로운 센서가 장착된 리모컨과 같은 새로운 하드웨어로 사용자 경험을 개선하는 데 수년을 보냈습니다. Android TV가 없어도 상황은 순조롭게 진행되었지만 Google의 새로운 플랫폼은 더 많은 기회를 제공합니다.

나는 이미 내가 약간 스마트 TV에 회의적이라고 말했지만, 심지어 지난 몇 년 동안 많은 발전이 이루어졌다는 것을 인정해야 합니다. 그러나 Android TV는 사람들이 TV 콘텐츠를 소비하는 방식을 개선 하는 것이 아니라 사용 방식을 바꾸는 것입니다.

안드로이드 TV 사용자 경험

당신이 한 번에 많은 스포츠와 정치를 보는 것을 좋아하는 유형의 사용자라면(은퇴하고 지루한 아버지처럼) UX는 나중에 생각하게 됩니다. 고대 밸브 라디오를 사용했을 때처럼 TV를 배경으로 켜고 뉴스나 음악을 듣는 나 같은 사람들도 마찬가지입니다. 그러나 많은 사람들이 비디오 콘텐츠를 소비하는 방식은 지난 10년에서 15년 사이에 크게 바뀌었습니다. 처음에는 디지털 비디오 레코더가 등장했고 이제는 스트리밍이 가능해졌습니다. 오늘날의 십대들은 연결된 장치에 둘러싸여 성장하고 있으며 밀레니얼 세대보다 TV에 더 많은 것을 기대합니다.

지금까지 파악하기 어려운 것으로 입증된 모든 스마트 TV 플랫폼의 궁극적인 목표는 기존 TV와 주문형 비디오 및 기타 유형의 콘텐츠를 가능한 한 원활하게 결합하여 새로운 사용자 경험을 만드는 것입니다. 개인적으로 지금까지 제대로 한 사람은 없다고 생각합니다. Google은 가능하지만 아직 더 지켜봐야 합니다. 많은 부분이 타사 개발자에 따라 달라집니다. 50달러 HDMI 동글에서 5,000달러 고급 TV 세트에 이르기까지 모든 유형의 Android TV 하드웨어에서 우수한 UX를 제공하려면 여러 지침을 따라야 합니다.

저는 현재 스마트 TV 플랫폼의 팬이 아니기 때문에 완벽한 사용자 경험을 만들기 위해 수행해야 할 작업을 나열하는 것은 아무리 생각해도 주제넘은 일입니다. 그러나 UI 및 UX 전문가는 다음과 같은 몇 가지 사항에 동의하는 경향이 있습니다.

  • 스마트 TV는 여전히 TV일 뿐입니다. 스마트 TV는 주로 비디오 콘텐츠를 소비하는 데 사용되며 모바일 및 태블릿에서 이미 수행하는 백만 가지 다른 작업을 수행하는 데 사용되지 않습니다.
  • 입력 방법은 개선되어야 합니다 . 리모콘은 진화했지만 복잡한 UI에는 아직 충분하지 않습니다. 스마트폰과 태블릿을 대체 입력 방법으로 사용하는 것은 여전히 ​​괴상한 것으로 간주되며 더 간단해야 합니다.
  • 제스처 제어 – 일부 상황에서 구현될 수 있지만 수동 사용자 경험을 다루기 때문에 크게 변경되지 않습니다.
  • 다중 사용자 – 대부분의 가정에서 TV는 개인용 장치가 아니므로 로그인을 잊어버리십시오.
  • 고장나지 않았다면 수리하지 마십시오 . 기존의 라디오와 TV는 단순함과 편리함으로 인해 여전히 매우 즐거운 사용자 경험을 제공하므로 바퀴를 재발명할 필요가 없습니다.
  • 모든 것을 단순하게 유지하십시오 . 가능한 한 적은 수의 클릭으로 사용자 상호 작용을 절대 최소로 유지하십시오.
  • 깨끗하고 최소한의 UI 를 선택하십시오. 가지고 놀 공간이 많다고 해서 모두 사용할 필요는 없습니다.

궁극적으로 Android TV 개발자는 그만큼만 할 수 있습니다. Google과 Android TV 파트너가 우수한 사용자 경험을 제공하는 일이 남아 있습니다. 타사 개발자는 단순히 이를 기반으로 하여 기능을 확장하는 동시에 여러 장치에서 일관된 경험을 보장합니다. 기본 플랫폼이 톱니 문제나 불일치로 고통받는 경우 개발자는 손을 등 뒤로 묶은 채 마법을 걸어야 합니다.