Android TVの開発–大画面が登場します、準備をしてください!
公開: 2022-03-11Googleは、スマートフォンや時計から車やスマートテレビまで、あらゆるものにAndroidを導入したいと考えています。 まず、完全な開示のために、私はスマートTVプラットフォームに関しては多少偏見があると言わざるを得ないので、それを邪魔にならないようにしましょう。 市場に出回っているすべてのスマートTVプラットフォームがまったくひどいものではないにしても、ほとんどの場合、それは私だけだと思います。 グーグルはそれがより良くなることができると考えており、私はそれが本当により良くなることができると信じる傾向があります、あるいは少なくとも私はそれが消費者と技術愛好家の両方としてできることを願っています。
では、Android TVとは何ですか? 多くの人が、2010年にリリースされた廃止されたプラットフォームであるGoogle TVと混同しています。これは、Google、Sony、Intel、Logitechによって開発されましたが、注目を集めることはありませんでした。 2014年半ばに正式にAndroidTVに置き換えられました。この新しいプラットフォームは、消費者と開発者の両方にとってはるかにエキサイティングです。
Google TVとは異なり、AndroidTVは標準のAndroidにはるかに近いものです。 Android 5.0を実行し(少なくとも最初の起動バージョンでは)、スタンドアロンデバイスだけでなく新しいテレビでも使用できます。 これは朗報です。AndroidTVは安価なAndroidTVボックスとスティックに搭載され、何百万もの古いTVに同じユーザーエクスペリエンスをもたらすからです。 実際、Android TVを搭載した最初のデバイスはテレビではなく、GoogleのNexusPlayerです。 これは、過去にさまざまなスマートTVプラットフォームに対して課された最大の不満の1つである、一貫性の欠如にも対処します。 Android TVは、互換性のあるすべてのデバイスにほぼ同じユーザーエクスペリエンスをもたらす必要があります。
革命はテレビ放映されず、ストリーミング配信されます
新機能に関する限り、AndroidTVではGoogleCastのサポートも導入されています。 ChromecastスティックのGoogleCastに精通しているかもしれません。 このテクノロジーは、すでに何百ものアプリやサービスでサポートされており、今後さらに増える予定です。 Google Castを使用すると、AndroidTVデバイスはさまざまなデバイスからストリーミングコンテンツを受信できます。 Google Cast APIを使用すると、実装は簡単です。必要なすべての情報は、GoogleCast開発サイトにあります。
これは、Googleがケーブル会社を「ダムパイプ」に変えて、コンテンツではなく単に帯域幅を使用したいという意味ですか? 実際にはそうではありませんが、特にスマートTVプラットフォームが急増しているため、何でも可能です。
ただし、ストリーミングはGoogleの唯一の切り札ではありません。
Android TVは、コミュニケーション、ゲーム、ホームオートメーションなどの新しい機会も生み出します。 Android TVは、Androidやその他のプラットフォームを実行している、あらゆる種類の接続デバイスのハブになる可能性があります。 これを使用して、ドアに誰がいるかを確認したり、エアコンや接続されたサーモスタットを調整したり、80年代のクラシックなアクションを見ながらRGBLED電球をテレビと同期したりすることもできます。
確かに、このようなもののいくつかはギミックに聞こえるかもしれませんが、AndroidTVはギミック用ではありません。 AndroidWearやAndroidAutoのようなニッチなプラットフォームにはなりません。 少し前までは、愛好家だけがスマートTVとスマートフォンを購入していましたが、フィーチャーフォンと従来のTVはこの時点でほとんどなくなっています。 Android TVは、何百万もの家庭のテレビに映し出されます。 それについては本当に疑いの余地はありません。
これはAndroid開発者にとって朗報です。ユーザーベースは確実に急速に成長し、AndroidTVアプリ開発用の新しいプラットフォームに取り組むリスクを軽減するからです。
Android TV –ボンネットの下には何がありますか?
ハードウェアに関しては、Android標準のFHD画面(1080p)とUHD(3840x2160)が表示されます。 一部のメーカーは、将来的にAndroid TVを湾曲した21:9ユニットにする可能性も十分にありますが、当面は16:9パネルに焦点を当てます。 UIデザイナーは、これを覚えておく必要があります。
Android 5.0(APIレベル21)に基づいており、ARTを使用しているため、ほとんどのAndroidTVハードウェアは64ビットプロセッサを備えています。 NexusPlayerはIntelAtomプロセッサをベースにしており、今後のAndroid TVの多くはMediaTekのMT5595プロセッサを搭載しますが、以前の投稿ですでに取り上げたNvidiaのShieldコンソールはTegraX1プロセッサを使用します。 IntelおよびNvidiaのSystem-on-Chip(SoC)製品は、64ビットCPUコアに基づいていますが、MediaTekは32ビットCortex-A17およびCortex-A7コアを採用しています。
すべてのAndroidTVハードウェアはHEVCおよびVP9デコードをサポートする必要があり、これらのチップのほとんどが一度に複数の非UHDストリームを処理できる可能性があります。 UHDコンテンツを毎秒60フレームで配信することも問題にはなりません。 高速のデュアルバンドワイヤレスも搭載されており、UHDストリームに十分な帯域幅を提供します。
Android TVハードウェアプラットフォームは多くのミドルウェアに依存し、すべての地域と市場をカバーするために複数の放送規格に準拠します。
ハードウェアについてエキゾチックなものは何もなく、開発者はそれほど心配する必要はありません。 多くのAndroid5.0DNAは、ソフトウェアの面でスムーズな移行を保証しますが、覚えておくべきことがいくつかあります。
Androidが大画面化
これは開発者にとって何を意味しますか? Android TVの開発は簡単に聞こえますが、仕様を一目見ただけでは全体像を把握することはできません。 多くの開発者やデザイナーはくつろげるはずですが、ユーザーがくつろげるようにする必要もあります。結局のところ、AndroidTVはリビングルーム向けに設計されています。
良いたよりから始めましょう。 ほとんどのAndroidTVデバイスは2つの解像度で16:9パネルを使用するため、多くのものが標準化されます。 これにより、一貫性が向上し、テストがいくらか簡単になります。
- 1つのアスペクト比である16:9で動作します(ただし、21:9のデバイスが将来登場する可能性があります)。
- FHDとUHDの2つの解像度向けに設計されており、画面サイズによって密度のみが異なります。
- 多くの標準化されたUI要素を使用します。
- タッチ入力について考える必要はありません。
- 扱うセンサーはそれほど多くありません。
- 電力効率は関係ありません。
ただし、Android TVアプリの開発には、取り組むべき新しい課題もいくつかあります。 テレビ自体にはタッチ入力がないため(タブレットや電話を入力に使用できますが)、リモコン、サードパーティ製のエアマウスユニット、キーボード、ゲームコントローラーなどの他の入力方法を処理する必要があります。 。 行く必要のあるレガシーAndroidのものもたくさんあります(たとえば、ポートレートモードはありません)。 ピクセル密度の変動ははるかに大きく、タッチ入力の欠如は一部の開発者にとって問題になる可能性があります。
ここにいくつかの課題があります:
- 一度に複数のコントローラーをサポートします。
- さまざまなタイプのコントローラー、つまり標準のリモートコントローラーとゲームコントローラーのサポート。
- 搭載されているセンサーはほとんどありません。
- 一部のデバイスでは、オーバースキャンが問題になる場合があります。
- 同じ解像度でも大幅に異なるピクセル密度(テレビはタブレットや電話よりもはるかに大きなサイズで提供されます)。
- 不要な要素を削除します。
これらの問題のいくつかを詳しく見てみましょう。 Android TVはメディアハブとして使用されるため、複数のコントローラーを使用したいと思う可能性があります。 Bluetoothキーボードが必要な場合もあれば、マルチプレイヤーアクション用に2つのゲームコントローラーを入手する場合もあります。 幸いなことに、標準のAndroidゲームコントローラー入力をUIやゲームなどのアプリに使用できるため、追加のコントローラー入力のサポートを実装するためにカスタムコードはおそらく必要ありません。 ただし、複数の入力デバイスに対応する必要がある場合があり、よりエキゾチックなコントローラーのサポートを追加する必要がある場合は、微調整が必要になる場合があります。
ほとんどのAndroidTVには、限定されたセンサーパッケージが付属しています。 なぜテレビにGPSが必要なのですか? これが、TVデバイスで利用できないハードウェア機能のサポートを無効にする必要がある理由です。 すべてを整理する方法についての詳細な情報がたくさんあります。 基本的に、サポートされていないセンサーにfalseのフラグを立てるだけで、それだけです。
また、Androidアプリのマニフェストを確認し、機能が不足しているためにAndroidTVデバイスが除外されるかどうかを確認する必要があります。
たとえば、標準のACCESS_FINE_LOCATION
権限はGPSを使用します。 GPSが搭載されていないため、アプリのマニフェストには次の情報を含める必要があります。

<uses-feature android:name="android.hardware.gps" android:required="false"/>
したがって、 ACCESS_FINE_LOCATION
をACCESS_COARSE_LOCATION
に変更する必要があります。 同じ原則がプラットフォームの他の側面にも当てはまり、詳細はGoogleで入手できます。 チェックアウトしたいもう1つのリソースは、NvidiaのAndroidTV開発者ガイドです。
他のAndroidプロジェクトからのものを再利用することを考えている場合、これは覚えておく価値があります。そうしないと、テレビでポートレートモードでメニューを開こうとするアプリになってしまう可能性があります。これにより、次のポイントに進みます。
Android TV 10 Foot UI
AndroidTVは基本的にAndroid5.0ですが、ユーザーインターフェースは、私たちが知っているように、ストックAndroidとはほとんど関係がありません。 スマートTVプラットフォームは、「10フィート」のアプローチを採用しています。これは、基本的に、ユーザーエクスペリエンスが画面から10フィートに最適化され、スマートフォンやタブレットの約10倍になることを意味します。
「10フィート」のコンセプトは、スマートTVプラットフォームよりも前のものです。 また、オンスクリーンディスプレイ(OSD)デザイン、ゲームコンソールダッシュボードデザインでも使用され、通常、主流の5.1サラウンドシステムで使用されていました。 では、ユーザーエクスペリエンスとUIデザインにとってそれはどういう意味ですか?
設計者は、安価な37インチの1080p TVからUHDの65インチまたは75インチのモンスターまで、さまざまなパネルですべてが正常に見えることを確認する必要があります。 UIは、画面サイズに関係なく、FHDとUHDでうまく機能する必要があります。 いくつかの異なる解像度を扱っていますが、ピクセル密度(1インチあたりのピクセル数または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セットを交換するのではなく、単に外出して新しいAndroidTVボックスを購入するでしょう。 多くのテレビメーカーは40インチ以上のモデルで4Kパネルの使用を開始しますが、開発者は依然としてレガシーサポートについて考える必要があります。
これは、オーバースキャンが問題になる可能性があることを覚えておく必要がある理由でもあります。 Android TVセットトップボックスを後付けしたテレビの多くは、ベゼルに向かって画面のスペースを失うことになります。 ビデオに精通している人なら誰でも、セーフフレーム(アクションセーフとタイトルセーフ)について1つか2つ知っています。 これは、標準解像度のCRTテレビの時代への逆戻りですが、それでも安全を確保し、重要なUI要素を端の近くに配置しないようにすることをお勧めします。 領域の少なくとも5%に重要なコンテンツがないようにし、本当に重要なUI要素にはさらに安全なマージンを使用してください。 10%でうまくいくはずですが、完全に安全になりたい場合は、さらに多くのことを行うことができます。
この特定の問題はタブレットやスマートフォンには存在しないことに注意してください。 幸いなことに、それはGoogleがそれを考慮しなかったという意味ではないので、オーバースキャンサポートはAndroid TV(そして実際にAndroid post 4.2.xの他のバージョン)に組み込まれています。 OpenGLの使用を検討している場合は、この問題にも対処する必要があります。
オーバースキャンが真のAndroidTVで問題になる可能性は低いですが、アフターマーケットのAndroidTVソリューションでは大きな問題になる可能性があります。 誰もが数年ごとにテレビをアップグレードしたいとは限りません。多くの人は、代わりにAndroidTVで50ドルのHDMIドングルを入手します。 これが、AndroidTVアプリにオーバースキャン構成オプションを含めることをお勧めする理由です。
もう1つの良いアイデアは、複数画面のサポートをカバーするGoogleのベストプラクティスを確認することです。 それは簡単ですが重要です。 アプリのマニフェストに追加の「互換性のある画面」を含める必要がある可能性があります。
AndroidTVのユーザーエクスペリエンスの向上
スマートTVプラットフォームでは、ユーザーエクスペリエンスが常に問題でした。 AndroidTVはGoogleTVが正しく実行されており、UXを改善するはずですが、すぐに使用できるわけではありません。 開発者は多くの手間のかかる作業を行う必要があります。
幸いなことに、テレビは実際には多くのユーザー入力やエンゲージメントを必要としません。 どんなカウチポテトもそれを証明します! TVメーカーは、スマートTVインターフェースを磨き、より高速で洗練されたUIと、新しいセンサー搭載リモートなどの新しいハードウェアでユーザーエクスペリエンスを向上させるためにすでに何年も費やしてきました。 Android TVがなくても物事は順調に進んでいましたが、Googleの新しいプラットフォームはより多くの機会を開きます。
私は少しスマートテレビの懐疑論者だとすでに言いましたが、ここ数年で多くの進歩があったことを認めなければなりません。 ただし、Android TVは、人々がTVコンテンツを消費する方法を改善するだけでなく、それを行う方法を変えることでもあります。
あなたが1つのビンジでたくさんのスポーツや政治を見るのが好きなタイプのユーザーなら(私の引退した退屈な父のように)、UXは後付けです。 同じことが私のような人々にも当てはまります。彼らはテレビをバックグラウンドでオンにして、古代のバルブラジオで行ったようにニュースや音楽を聴いています。 しかし、多くの人々がビデオコンテンツを消費する方法は、過去10年から15年の間に劇的に変化しました。最初はデジタルビデオレコーダーで、現在はストリーミングでした。 今日の10代の若者は、接続されたデバイスに囲まれて成長しており、ミレニアル世代よりもテレビに期待しています。
これまでとらえどころのないことが証明されているスマートTVプラットフォームの最終的な目標は、従来のTVとオンデマンドビデオ、およびその他のタイプのコンテンツを可能な限りシームレスに組み合わせて、新しいユーザーエクスペリエンスを作成することです。 個人的には、今のところ誰もそれを正しくやっていないと思います。 グーグルはできたが、それはまだ見られていない。 多くはサードパーティの開発者に依存します。 50ドルのHDMIドングルから5,000ドルのハイエンドTVセットまで、あらゆるタイプのAndroid TVハードウェアで優れたUXを提供するには、いくつかのガイドラインに従う必要があります。
私は現在のスマートTVプラットフォームのファンではないので、控えめに言っても、完璧なユーザーエクスペリエンスを作成するために何をする必要があるかをリストするのは思いがけないことかもしれません。 それでも、UIとUXの専門家はいくつかの点で同意する傾向があります。
- スマートテレビは今でも単なるテレビです。主にビデオコンテンツを消費するために使用され、携帯電話やタブレットですでに行っている何百万ものさまざまなことを行うためには使用されません。
- 入力方法を改善する必要があります–リモコンは進化しましたが、複雑なUIにはまだ十分ではありません。 代替の入力方法としてスマートフォンやタブレットを使用することは、依然としてオタクと見なされており、より簡単である必要があります。
- ジェスチャ制御–状況によっては実装できますが、パッシブなユーザーエクスペリエンスを扱っているため、それほど変化することはありません。
- 複数のユーザー–ほとんどの家庭では、テレビは個人用デバイスではないため、ログインすることを忘れてください。ユーザーを困らせるだけです。
- 壊れていない場合は、修正しないでください。従来のラジオやテレビは、シンプルで便利なため、非常に楽しいユーザーエクスペリエンスを提供します。そのため、車輪の再発明を行う必要はありません。
- すべてをシンプルに保つ–クリック数をできるだけ少なくして、ユーザーの操作を最小限に抑えるようにします。
- クリーンで最小限のUIを選択してください。さまざまなスペースがあるからといって、すべてを使用する必要はありません。
最終的に、AndroidTVの開発者はそれだけのことしかできません。 GoogleとAndroidTVのパートナーは、優れたユーザーエクスペリエンスを作成する必要があります。 サードパーティの開発者は、それを基に構築し、機能を拡張すると同時に、複数のデバイス間で一貫したエクスペリエンスを保証します。 基礎となるプラットフォームが歯が生える問題や不整合に悩まされている場合、開発者は手を後ろで縛って魔法をかける必要があります。