Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
テスト
公開
収益化
ユーザーエンゲージメント
デバイスの仕様
リソース

検索機能の実装

検索機能の実装

Amazon Fire TVに検索機能を実装するには、テキスト検索と音声検索の主な違いを理解する必要があります。

アプリ内のテキスト検索

アプリ内のテキスト検索とは、アプリ内にコーディングされたテキスト検索機能のことです。デフォルトでは、Amazon Fire TVにアプリのテキスト検索は用意されていません。

Amazon Fire TVには、Fire TVのホーム画面で実行できるグローバルテキスト検索機能が用意されています。グローバルテキスト検索では、Amazonカタログから結果が返されます。グローバルテキスト検索の結果にメディアを表示するには、アプリのメディアをAmazonカタログに統合する必要があります。

音声検索

Amazon Fire TVには、音声対応リモコンを使用した音声機能も用意されています。Fire TVのAlexa音声機能に加え、自然言語を使用することで、TV番組、映画、そのほかのメディアを検索することができます。

Fire TVで表示している画面にかかわらず、音声対応リモコンのマイクボタンを押して目的のTV番組やAlexaアクションを声に出して言うと、LeanbackライブラリではなくAlexaクラウドサービスを使用してグローバル検索が開始されます。

音声によるメディアリクエストでは、常にAmazonカタログのコンテンツが返されます。これらの結果にアプリのメディアを表示するには、アプリのメディアをAmazonカタログに統合する必要があります。

ユーザーがアプリを既にインストールしている場合、アプリのコンテンツはカタログの結果に直接表示されます。ユーザーがアプリをインストールしていない場合は、[その他の視聴方法] オプションが表示されます。ユーザーはこのオプションを使用して、アプリを入手し、そのコンテンツを表示できます(カタログ統合は、どのユーザーにも同じコンテンツが提供されるアプリでのみ推奨されるオプションです)。

Leanbackの音声認識エラーの回避

Amazon Fire TVの音声操作にはAlexaが使用されるため、LeanbackライブラリのSearchFragmentクラスによる音声認識はFire TVアプリに対して無効にしておく必要があります。音声認識を無効にしないと、ユーザーが検索を実行したときにアプリがエラーを返す可能性があります。

LeanbackのSearchFragmentクラスでは、startActivityForResultメソッドによって音声認識機能が検索されます。Fire TVではこの音声認識機能がサポートされていないため、エラーが生成されます。エラーを回避するには、onCreate()メソッドをオーバーライドして音声認識コールバックをコメントアウトし、メソッドが実行されないようにします。以下に例を示します。

setSpeechRecognitionCallback(() -> {
    if (DEBUG) Log.v(TAG, "recognizeSpeech");
    try {
        //startActivityForResult(getRecognizerIntent(), REQUEST_SPEECH);
    }
    catch (ActivityNotFoundException e) {
        Log.e(TAG, "音声認識機能のアクティビティが見つかりません", e);
    }

ここでは、startActivityForResultメソッドがコメントアウトされています。これにより、音声認識機能は実行されず、エラーが返されることもありません。

Alexaスキルとアプリ

アプリ独自のAlexa対応音声検索機能を作成することはできません。アプリからはメディアの結果のみが返されます。Fire TVではAlexaのどのスキルにもアクセスできますが、このスキルは音声専用の機能です。音声スキルでは、Fire TVのネイティブアプリとやり取りしません。そのため、自分で作成したAlexaのスキルでアプリを制御する方法はありません。


Last updated: 2026年5月27日