開発者コンソール

Automotiveの開発者リファレンス

Automotiveの開発者リファレンス

Automotive(車載用Fire TV)に固有の機能を実装するうえで、役に立つツールをいくつか紹介します。

開発者ツールとヒント

タッチモード

ユーザーがデバイスにタッチすると、タッチモードが開始されます。タッチモードを操作するためのツールには、次のようなものがあります。

タッチモードの検出

Androidには、タッチモードを検出する方法が複数用意されています。

  • View.IsInTouchMode() - Viewクラスのこのメソッドでは、デバイスが現在タッチモードになっているかどうかを確認できます。

  • focusableInTouchMode:false - この属性は、XMLを使用して任意のビューに設定することも、setFocusableInTouchMode(false)メソッドを使用して設定することもできます。
  • ViewTreeObserver.OnTouchModeChangeListener - Androidには、タッチモードの変更をリッスンするためのAPIが用意されています。このAPIを使用して、必要に応じてUIを変更できます。

タッチモードの変更のリッスン

タッチモードの変更をリッスンする方法を以下に示します。

view.getViewTreeObserver().addOnTouchModeChangeListener(
    new ViewTreeObserver.OnTouchModeChangeListener() {
        @Override
        public void onTouchModeChanged(boolean b) {
            // タッチモード変更時の処理
        }
    });

カラーオプション

ビューの状態に応じて異なる色を選択できます。使用できるビューの状態には次のものがあります。

  • アクティブ状態
  • フォーカス状態
  • 選択状態

その他の開発者向けヒント

  • ユーザーがアプリ内でアイテムをダウンロードした場合は、Automotive SDK(次のセクションで説明します)を介して、その情報を新しいFire TVダウンローダーアプリに渡します。これは、(アプリ外の)Fire TV UIでコンテンツを表示する目的で設計されています。これによって、アクセスが容易になり、アプリのエンゲージメントが向上します。
  • ユーザーがアプリ内でダウンロードしたアイテムを削除した場合は、SDKを介してその情報をFire TVに渡します。これで、(アプリ外の)Fire TV UIでこのアイテムが表示されなくなります。
  • RSE(リアシートエンターテインメント)のユーザーがAPIを使用してアイテムの再生を開始・一時停止・再開・停止した場合は、現在の再生中アイテムと再生ステータスを更新します。

Automotive SDKの実装

Automotive SDKは、リビングルーム版のFire TVでは利用できない自動車向け機能をアプリに統合するために使用されます。この機能には次のようなものがあります。

  • Fire TV UIでのダウンロード済みコンテンツの公開・管理
  • フロントシートコントロールにおける再生ステータスの更新

アイテムのダウンロード

ダウンロードアイテムの追加

ダウンロードを追加するには、addDownloadedItemメソッドを使用します。

/**
 * アイテムのダウンロードが完了したら、このメソッドを使用して、
 * ダウンロードしたアイテムをデバイスのダウンロードに追加します。
 *
 * @param downloadedItem - ダウンロードしたアイテムのMediaMetadataオブジェクト
 * @param launchIntent - ダウンロードしたアイテムを起動するインテント
 * @param deleteIntent - ダウンロードしたアイテムをデバイスのダウンロードから削除するインテント。
 *                       このインテントの開始時に、ダウンロードしたアイテムが
 *                        デバイスから削除されます
 */
public void addDownloadedItem (MediaMetadata downloadedItem,
    Intent launchIntent, Intent deleteIntent)
パラメーター 説明
MediaMetadata downloadedItem ダウンロード行・フロントシートコントロール・ダウンロード管理ページに詳細を表示します。これには次の情報が含まれます。
  • アイテムID
  • タイトル
  • 詳細な説明
  • コンテンツレーティング(PG-13、Rなど)
  • ダウンロードサイズ
launchIntent ダウンロード行・フロントシートコントロール・ダウンロード管理ページからアイテムを起動します。これにより、アプリ内詳細ページまたはプレーヤーが起動されます。
deleteIntent ダウンロードしたアイテムをアプリから削除します(ダウンロード行・ダウンロード管理ページのクイックメニューアイテム)。

ダウンロードアイテムの削除

ダウンロードしたアイテムを削除するには、removeDownloadedItemを使用します。

/**
 * アイテムのダウンロードがアプリから削除されたら、このメソッドを使用して、
 * ダウンロードしたアイテムをデバイスのダウンロードから削除します。
 *
 * @param itemId - ダウンロードしたアイテムを識別するID
 */
public void removeDownloadedItem (String itemId)

アイテムID(itemId)は、ダウンロード行・フロントシートコントロール・ダウンロード管理ページから削除するアイテムを識別するために使用されます。

再生ステータスの更新

アプリの再生ステータスを更新するには、updatePlaybackStatusメソッドを使用します。

/** 
 * このメソッドを使用して、このデバイスで現在再生中のメディアを更新します。 
 *
 * @param metadata - 現在再生中のコンテンツのMediaMetadataオブジェクト 
 * @param state - コンテンツの現在の再生ステータス 
 * @param currentPlaybackTime - 現在の再生時間 
 */
public void updatePlaybackStatus (MediaMetadata metadata,
    PlaybackState state, long currentPlaybackTime)
パラメーター 説明
MediaMetadata metadata フロントシートコントロールに詳細を表示します。これには次の情報が含まれます。
  • アイテムID
  • タイトル
  • 詳細な説明
  • コンテンツレーティング(PG-13、Rなど)
PlaybackState state 使用できる再生ステータスには、 再生中、一時停止、停止、開始があります。
currentPlaybackTime 現在の再生時間です。