Amazon Developer

as

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

Fire TVとAndroid TVにおける開発の違い

Fire TVとAndroid TVにおける開発の違い

Amazon Fire TVとAndroid TVはどちらもAndroidベースのため、同じAndroidアプリをAmazonアプリストアとGoogle Playストアの両方で配信可能で、アプリの知名度やダウンロード件数の大幅な上昇も見込めます。

ただし、Fire TVにはコードで考慮すべき違いがいくつかあります。これらの違いは、たとえばハードウェアやサービスを構成する独自の要素に起因しています。一方のサービスには存在する機能がもう一方のサービスにはない場合もあります。異なるサービスではあるものの、同等の働きをするものもあります。

コードの中でこのような違いに対応するには、Fire TVデバイスを識別し、異なるデバイスや動作に合わせてコードを調整する必要があります。

Amazon Fire TVとAndroid TVの違い

まず、Android TVとAmazon Fire TVの特徴をそれぞれ明確にしておきましょう。

  • Android TVとは、TV用に最適化されたAndroidオペレーティングシステムのことです(Lollipop以降のバージョン)。Android LollipopとLeanback Support Libraryには、TVのプラットフォームに合わせてAndroidを最適化する機能が備わっています。Android TVは、TVデバイス単体でネイティブOSとして実行できるほか、TVからセットトップボックスを介してAndroidを実行することができます。Android TVの詳細については、Wikipediaを参照してください。
  • Amazon Fire TV とは、テレビで Fireオペレーティングシステム(OS)を実行するFire TVセットトップボックス、スティック、またはスマートテレビを指します。Fire OSバージョンには、Fire OS 5、Fire OS 6、Fire OS 7、Fire OS 8、Fire OS 14、Fire OS 16が含まれます。各バージョンはAndroid APIレベルに基づいています。たとえば、Fire OS 14はAPIレベル34に基づいており、Android 12からAndroid 14までのアップデートが組み込まれています。Fire OS 16はAPIレベル36に基づいており、Android 15とAndroid 16のアップデートが組み込まれています。Fire OSもAndroidオペレーティングシステムをベースにしていますが、Amazonのハードウェアやサービスにも対応できるという違いがあります。詳細については、Fire OSとFire TVデバイスの仕様を参照してください。

重要な点は、Android TVとAmazon Fire TVはどちらもAndroidをベースにしており、アプリ開発において開発者が実装する技術は、相違点よりも共通点の方がはるかに多いということです。

以降のセクションには、Fire TVのコードを検討するうえで考慮すべき相違点を挙げています。

Googleのサービス

Google固有のサービス(位置情報サービスなど)を利用するAPIは、Amazon Fire TVでは使用できません。Amazonモバイル広告APIはありますが、Fire TVではまだサポートされていません。

LeanBack Support Library

Amazon Fire TVでは、AndroidのLeanback Support Libraryを一部サポートしています。たとえば、Fire TVではLeanbackのTV用UIコンポーネントが使用されているため、Leanbackのウィジェットも実行できます。また、Fire TVがLEANBACK_LAUNCHERにタグ付けされたインテントを認識することもできます。しかし、LeanbackのSearchFragment(次のセクションで説明します)はサポートしていません。

Android TVでは、Leanback APIに基づくアプリコントロールが音声検索に使用されます(SearchFragmentによる音声認識など)。ただし、Amazon Fire TVの音声検索はLeanbackのSearchFragmentを使用しません。Fire TVでは、音声検索にAmazon固有のシステムコントロールが使用されます。

ユーザーがFire TVの任意の操作画面(ランチャー、アプリ内など)で音声対応リモコンのマイクボタンを押し、目的のTV番組やAlexaアクションを声に出して言うことで、グローバル検索が開始されます。このときに使用されるのはAlexaクラウドサービスであり、Leanbackライブラリの音声認識APIではありません。

音声によるメディアリクエストでは、常にAmazonカタログのコンテンツが返されます。詳細については、Fire TVに検索機能を実装するを参照してください。

Android TVでは、目的のコンテンツをグローバル検索に統合する場合、検索結果のContentProviderをアプリから使用してローカルに実現できます。

一方、Amazon Fire TVでグローバル検索の結果にコンテンツを表示させるには、メディアのコンテンツをAmazonカタログに統合する必要があります。カタログへの送信は、(アプリ内からローカルにではなく)クラウドベースモデルで実現されます。

オーディオフォーカス

一般のミュージックアプリで音楽を再生中にAmazon Fire TV対応アプリを起動しても、そのまま音楽の再生が続きます。再生/一時停止ボタンは、アプリのビデオではなく音楽の方を操作することになります。

オーディオフォーカスを取得するには、開発したアプリのマニフェストにMediaButtonReceiverを登録する必要があります。MediaButtonReceiverによって、アプリの起動時にオーディオフォーカスがアプリのメディアサービスに移動します。詳細とコードサンプルについては、オーディオフォーカスを参照してください。

早送り、早戻し、メニューボタン

Android TVにもAmazon Fire TVにも、4方向のD-Pad(ナビゲーション)、D-Padの選択ボタン、戻るボタン、再生/一時停止ボタンが備わっています。これに加えて、Fire TVには早戻しボタン、早送りボタン、メニューボタンもあります。

Fire TVのメニューボタンを押すと、Androidのコンテキストメニューが起動し、画面の中央にメニューアイテムのリストが表示されます。メニューボタンはオーバーライドが可能で、カスタムメニューのユーザーインターフェイスを提供したり、様々な目的に使用できます。

メニューアイテムが1つだけ必要な場合は、単純な切り替えスイッチ(クローズドキャプションのオン/オフなど)としてメニューボタンを使用することもできます。その際に、この機能をユーザーに知らせるヒントを画面に表示することもできます。

アプリ内課金(IAP)

Android TVのアプリ内課金には、通常、Google Play請求サービスが使用されます。Amazon Fire TVのアプリ内課金では、Amazonのアプリ内課金(IAP)APIが使用されます。Google Play請求サービスとAmazon IAPの詳細な比較については、Google Play請求サービスからAppstore SDKへの移行を参照してください。

アナリティクス

Android TVでは、分析ソリューションとしてFirebaseが使用されています。Amazon Fire TVでは、Amazon Mobile Analyticsやそのほかの分析パッケージ(Googleアナリティクス、Flurry Analytics、Crashlyticsなど)を使用できます。

Firebase

アプリでFirebase SDKを使用していて、引き続きFirebaseを使用する場合は、代替手段の実装が必要になる可能性があります。一部のFirebase SDKはGoogle Play開発者サービスに依存していますが、このサービスはAmazonデバイスでは使用できません。

Firebase SDKを使用している場合は、まず、そのFirebase SDKにGoogle Play開発者サービスが必要かどうかを特定します。使用するサービスや機能がGoogle Play開発者サービスを必要としていなければ、Amazonデバイスでも引き続き使用できます。Firebase SDKがGoogle Play開発者サービスを必要としている場合は、代替プロダクトを使用するか、AmazonデバイスでFirebase機能を無効にすることができます。

使用しているFirebase SDKがサポート対象かどうかを確認する方法と、同等の機能や代替手段については、「既存のAndroidアプリをFire OSに移植する方法」のFirebaseと代替ライブラリを参照してください。

SDKレベル

Fire OSの各バージョンは、特定のAndroid APIレベルに基づいています。新しいFire TVデバイスはFire OS 14(APIレベル34)またはFire OS 16(APIレベル36)を実行していますが、一部の古いデバイスでは以前のFire OSバージョンがそのまま残っています。Fire OSバージョンをターゲットにする前に、アプリに影響するAndroidの変更点を確認してください:

どのデバイスがどのバージョンのFire OSを実行しているかを確認するには、Fire OSのバージョンとFire TVデバイスの仕様を参照してください。

おすすめ機能

Android TVとAmazon Fire TVはどちらもホーム画面におすすめを表示できます。

エミュレーター

Amazon Fire TVアプリをテストするには、Amazonアプリストア品質管理セントラルのFire TV仮想デバイスを使用するか、ADB経由でFire OS 14またはFire OS 16のスマートテレビに接続します。詳細については、ライブデバイスインタラクション - 仮想デバイスおよびADBを使用してFire TVに接続する方法を参照してください。

通知API

Amazon Fire TV対応アプリで通知を作成するには、標準のAndroid通知APIを使用します。Fire TVには、Android TVと同じトースト通知と永続化モデルが備わっています。ただし、Fire TVはトースト通知のほかにもヘッドアップ通知に対応しており、インタラクティブなボタンを利用できます。

さらに、Fire TVでは、古い通知は通知ドロワーには格納されずに通知センターに保存されます。詳細については、Amazon Fire TVの通知機能を参照してください。

アクセシビリティ

Amazon Fire TVは、目の不自由な方にもアプリをご利用いただけるようにVoiceViewという補助機能を提供しています。VoiceViewとユーザー補助機能の詳細については、以下を参照してください。

アプリストア

Android TVデバイスでは、Google Playストアが使用されます。これに対してAmazon Fire TVでは、Amazonアプリストアが使用されます。Google Playストアへのリンクはすべて、Amazonアプリストアへのリンクに変更する必要があります。

アプリのテスト

AndroidアプリとAmazonとの互換性をテストするには、Amazon Fire TVデバイスにアプリをサイドロードします。詳細については、ADBを使用してFire TVに接続する方法を参照してください。

ADBを介してFire TVデバイスに接続し、Android Studioを使用してアプリを実行すると、正常に開発されたアプリであれば読み込まれ再生されます。サイドロードしたアプリを閉じるには、[設定] > [アプリケーション] > [インストール済みアプリケーションを管理] の順に選択してください。


Last updated: 2026年10月13日