Google TV 基本

2012/1/13 4785hit

Google TV Basicを翻訳してみました
Google TVアプリを作ったり移行する場合の考え方です。

ところで、このシリーズ続けていくつもりだったのですが、しばし中断することになりました。
Android Designの方が重要かつ包括的だったのでそちらを先に翻訳しようと思います。

GoogleTV 導入に戻る

Google TV 基本

Google TVデバイスはAndroidOS ミドルウェアとキーとなるGoogleTVアプリケーションによって出来ています。
AndroidSDKは開発者のためのツールとAPIを提供します。
GoogleTV向けアプリケーションはJavaプログラム言語を使用します。
Androidソフトウェアスタックのより詳細な記述は Android Developers GuideのトピックWhat is Android?にあります。
ノート:Android Developers GuideはAndroid アプリケーションのための完全かつ確定的なドキュメントです。GoogleTV Applicationに取り組む上でそれを調べるのを忘れないでください。
GoogleTVプラットフォームのハニカムバージョンはAndroidプラットフォームのMR1リリースと一致します。
Androidの主にモバイル向けとされる機能のいくつかはGoogleTVでサポートされません。
これらはトピックGoogle TVでサポートされる機能(翻訳中)でリスト化されています。

ユーザーインターフェイス

Android環境においてGoogleTVはユニークな機能がいくつかあります。
・GoogleTVと一般的なAndroidプラットフォームの大きな違いはタッチスクリーンデバイスがないことです。
 代わりにGoogleTVアプリケーションは通常、リモコンが提供する5方向(上・下・左・右・選択)パッド(DPad)とカーソルで操作されます。
・すべてのGoogleTVがそれ自身にディスプレイを含む訳ではないので、ユーザーの初期設定時にTVとその設定から画面解像度と密度を取得します。
・小さなモバイルディスプレイを近くで見るのではなくTVは遠くから大きな画面を観ます。
 アプリケーションUIは見えるように十分大きい必要があります。そしてユーザーが選択可能な領域を示す明確なボーダーラインを提供する必要があります。
 ユーザーとディスプレイの距離からこの環境を10フィートユーザーエクスペリエンスと呼ばれています。
Android UIフレームワークはこれらの違いを取り扱うに十分柔軟です。
あなたはGoogleTVを含む複数のAndoroidデバイスをサポートする1つのアプリケーションパッケージ(apk)を作ることが出来ます。
そうするためには、GoogleTVのUI設計理念(翻訳中)を理解して適用する必要があります。
ユーザーインターフェイストピック(翻訳中)はGoogleTVのためのアプリケーションUIのデザインについての詳細な情報を提供します。

ハートウェアと機能に対するサポート

GoogleTVデバイスとGoogleTVプラットフォームは携帯のデバイスやそのためのプラットフォームと僅かに異なります。
GoogleTV特有の機能。
・LiveTV Androidアプリ:テレビを観るために、GoogleTVプラットフォームはLiveTV Androidアプリケーションを含みます
 このソフトウェアは現在のTV放送を表示するものです。
ノート:Liveテレビアプリのピクチャーインピクチャー機能(PIPは他のAndroidアプリケーションで利用できません。また、小さなPIPWindow内でAndroidアプリケーションは実行できません。
・チャンネルリスティングコンテンツプロバイダ:放送されているTVをサポートするためGoogleTVプラットフォームはチャンネルリスティングコンテンツプロバイダを含みます。
 これは現在構成された信号プロバイダに対して局のコールサインとチャンネル表を提供します。
・Google TVアドオン:GoogleTVもGoogleTVエミュレータのサポートを含むアドオンパッケージを備えています。
 あなたのAndroidアプリを実際のGoogleTVデバイスを使うことなくテストすることを援助します。
それらの機能のより詳細はGoogle TVでサポートされる機能(翻訳中)を読んでください。

GoogleTVで利用できない機能
GoogleTVデバイスは携帯機器がもつハードウェア機能のいくつかを見つけられないため、同じ機能をサポートしません。
たとえば、現状GoogleTVデバイスはジャイロスコープを備えないため、装置の方向を提供しません。
Google TVでサポートされる機能(翻訳中)のリストはサポートされない全機能のリストがあります。

アプリケーションの適合性

たとえあなたのAndroidアプリケーションがサポートされていないハードウェアや機能を必要としなくても、GoogleTVでは役に立たなかったりふさわしくない場合があります。
たとえば、燃費を追跡するアプリケーションはネットワークのハードウェアだけを要求するかもしれません。
しかし、それでもGoogleTVとしては有益ではありません。
アプリケーションをGoogleTVとして検索しインストール可能にするか決めるには、それがリビングルームにあるTVのために意味があるアプリであるか検討する必要があります。
場合によってはアプリケーションがたとえサポートされていないハードウェアを使用するとしても有益である場合があります。
例えば、既存アプリの移行(翻訳中)で記載したパノラミオアプリケーションはGPSが有効なら位置情報を使用するが、GPSハードウェアがない場合は位置情報を促すためにユーザーに画面を表示します。
アプリケーションは携帯機器と比べてGoogleTV上では僅かに異なる機能を提供します。

アプリケーションの分類

要約するとGoogleTVむけAndroidアプリのいくつかの大きな分類があります。

ユニバーサルアプリケーション
アプリケーションはフル機能をGoogleTVを含むデバイスで使用可能です。そしてそれはGoogleTVで使うにふさわしいです。
あなたはAndroidMarketからGoogleTVをフィルターで除外したりGoogleTVをインストールするのを防ぐ必要はありません。
GoogleTVをAndroidMarketでフィルターしないのであれば、GoogleTV上でUIが正しく機能するようにデザインする必要があります。
ことなる密度と解像度のためにリソースのセットを提供する必要があるかもしれません。
GoogleTV向けのAndroidMarketにあなたのアプリを表示したいのであれば、アプリが完全なタッチスクリーンのサポートを必要としないことをマニフェストファイル(AndroidManifest.xml)で示す必要があります。
そのためには性格に以下の要素を追加してください。
  <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>


限られた機能のアプリケーション
GoogleTVで使えないハードウェアやAndroidの機能に若干依存しているがそれでもアプリケーションはまだ有益です。
GoogleTVの検索結果からそれらをフィルターするかしたくないかもしれません。
正しくGoogleTVでアプリが動くようにデザインしなければいけません。
GoogleTVがサポートしないハードウェアや機能のためにテストしなければいけません。
そしてそれらに依存するどんな機能も無効化する必要があります。
以下のコード例はPackageManagerを使って機能を見分ける方法を示しています。
if (getPackageManager().hasSystemFeature("com.google.android.tv")) {
// disable features that are not supported on Google TV.
}

GoogleTV向けのAndroidMarketにあなたのアプリを表示したいのであれば、アプリが完全なタッチスクリーンのサポートを必要としないことをマニフェストファイル(AndroidManifest.xml)で示す必要があります。
そのためには性格に以下の要素を追加してください。
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>


GoogleTV専用アプリケーション
アプリケーションはGoogleTV上でしか動かないか、GoogleTV上でしか有益ではないです。
GoogleTVのみで動く主な例はliveTVと連携するものです。
同様にGoogleTVのみで有益な例はキーワードからチャンネルリストを検索するものです。
GoogleTV専用のアプリケーションが他のデバイスでAndroidMarketに表示されるのを防ぐために uses-featureエレメントを使用して、システム機能 com.google.android.tvを記載してください。
正確な記載例は
<uses-feature android:name="com.google.android.tv" android:required="true"/>


アプリケーションバージョンでデバイスを絞り込む
デバイスの種類やスタイルのために別々のアプリケーションパッケージを維持したい場合、
例えば、あるパッケージを携帯電話向け、別のをタブレット向け、三つ目をGoogleTV向けに提供する。
この場合、各タイプデバイスごとに異なるmanifestを持つ必要があります。
これによりそれぞれのパッケージのフィルタリングとインストールをコントロールすることが出来ます。
それぞれのmanifestをセットアップできるので、Android Marketは互換性を持つデバイスのみにリストしPackage Managerは互換性があるデバイスにインストールするだけです。

アプリケーションはGoogleTVに適していないか、サポート出来ない。
アプリケーションはGoogleTVで有益でないか、サポートされていない機能を必要とします。
例えば、燃費アプリケーションはインターネット接続を必要都市、それはGoogleTVで利用可能ですが、それでもテレビ環境では役立たない場合があります。
一方、SMSアプリケーションはTVで役立つ場合がありますが、それが電話通信網だけを使用する設計の場合GoogleTVでサポートできません。
それが十分なレベルでサポートされていない機能を使用するのでアプリケーションがGoogleTVに適さない場合もあります。
例えば、ゲームアプリケーションはタッチスクリーンを使用するかもしれません。そしてGoogleTVはたちスクリーンのコントロールにマウスポインターを提供します。
それはゲームをするには適さないでしょう。
アプリケーションがGoogleTVがサポートしていない機能を必要とするならばAndroidManifest.xmlにuses-featureエレメントに属性android:required="true"を設定します。
フィルターはGoogleTVデバイスからAndroidMarketの表示をフィルターします。
GoogleTVで役に立たないアプリケーションを除去するためにはuses-featureエレメントに android:name="android.hardware.touchscreen"とandroid:required="true"を設定します。
GoogleTVはandroid.hardware.touchscreenをサポートしないためアプリがフィルターではじかれます。

前:Google TV 導入 次:Android デザインを訳してみた

関連キーワード

[Android][翻訳][TV]

コメントを投稿する

名前URI
コメント