開発フレームワークの比較: Fire App Builder、WASK、Amazon Creator


開発フレームワークの比較: Fire App Builder、WASK、Amazon Creator

Amazon Fire TVを対象としたメディアベースのアプリ構築を検討している開発者のために、Amazonではアプリ開発時間の短縮に役立つ3つのフレームワークを提供しています。各フレームワークは、それぞれ異なるユーザーグループを対象としています。

この3つのフレームワークは、使用するコードの種類に違いがあるほか、備わっている機能も若干異なります。詳細については、機能の比較の表を参照してください。

Amazon Fire TV向けウェブアプリスターターキット

Fire TV向けウェブアプリスターターキットGithubからダウンロード可能)をベースとして、HTML5、CSS3、JavaScriptを使用してAmazon Fire TV用のメディア指向アプリを作成できます。このキットで開発したウェブアプリをAmazon開発者ポータルでパッケージ化することで、Fire TV対応アプリを作成することができます。ネイティブアプリとまったく同様に、Amazonアプリストアで公開可能です。

Fire TV向けウェブアプリスターターキット(WASK)を使用した開発は、アプリテンプレートを基にして行います。Media RSSフィードやJSONフィードのサポート、オンラインビデオプロバイダー(YouTube、Brightcoveなど)のサポートなど、各種メディア機能がテンプレートに含まれています。このテンプレートは、標準のウェブテクノロジー(JavaScript、HTML5、CSS3)を使って拡張機能を追加したり、設定ファイルを変更したりすることによってカスタマイズできます。

アプリ申請プロセスでAmazonアプリストアのテストに通過するために必要な要素に加え、ユーザーが大画面に期待する利便性を実現するうえで必要なコードがあらかじめ記述されています。 ほかの機能やカスタマイズを一切必要としなければ、メディアファイルのフィードを指定するだけでもアプリが出来上がります。メディアファイルは、アプリ上でカテゴリーの選択リストを表示したり、回転式のスライドショーでメディアコンテンツを表示したりするために用いられます。

次のスクリーンショットは、シンプルなレイアウトの例です。

基本的なWASKテンプレートをカスタマイズしたり拡張しながら、Amazon Web App Testerを使用してアプリをテストできます。Amazon Web App Testerは、ウェブアプリを実際のデバイスでテストするためのAmazon Fire TV対応アプリです。Web App Testerには、アプリが公開されたときに使用されるネイティブアプリラッパーとウェブエンジンがそのまま使用されており、開発段階で正確にアプリの動作を確認することができます。

完成したアプリは、Amazon開発者ポータルからAmazonアプリストアに申請すれば、数分後には公開されます。この点に関して直接コードを記述する必要はありません。

オンラインでサインアップを行い、アプリに関する基本的な情報を入力してサムネイルやプレビュー画像をアップロードしたら、アプリのホスト先を選ぶことができます。ホストの選定に関しては、アプリのアセットファイルを自社のウェブサーバーでホストし、そのURLだけを申請する方法と、Amazonのサーバーにアセットをアップロードし、そこでスタンドアロンのパッケージアプリとしてバンドルする方法があります。

申請したアプリはその後、Amazonの統合サービスの過程を経ることになります。アプリが公開されると申請者に通知が送られます。

次のビデオでは、YouTubeのフィードからWASKアプリを作成する方法についてのチュートリアルをご覧いただけます。

詳細については、Fire TV向けウェブアプリスターターキットを参照してください。WASKを使って作成されたFire TV対応アプリの例としては、Acorn TVUrban Movie ChannelEuronewsがあります。

Fire App Builder

Fire App BuilderGithubからダウンロード可能)には、Javaベースのフレームワークが備わっています。このフレームワークを使用することで、Amazon Fire TVを対象としたストリーミングメディアのAndroidアプリを短時間で簡単に開発できます。WASKではHTML5/CSS3/JSが使用されるのに対し、Fire App Builderで使用されるのはJava Androidコードです。

Fire App BuilderはAndroid Studioで使用します。Android Debug Bridge(adb)を介してAmazon Fire TVデバイスに接続し、APK(Android Package Kit)ファイルを生成してAmazonアプリストアにアップロードします。

Fire App BuilderではAndroidのAPI(特にLeanback Library)が使用されていますが、大半の構成とカスタマイズはJSONファイルとXMLファイルで行うことができます。たとえば、JSONファイルとXMLファイルで10種類以上のコンポーネントを構成し、アプリに追加することができます。各種コンポーネントには、分析、広告、承認、購入、メディアプレーヤーの機能があらかじめ搭載されています。

Fire App Builderは、Javaに関する専門的な知識に極力依存しないように設計されていますが、深いレベルで統合する場合には、Fire App Builderを基盤として開発を進めることもできます。共通のインターフェイスやほかのコードから、カスタムのJavaクラスを追加して独自に機能を拡張することが可能です (Javaのカスタムプログラミングを望まない場合は、しなくても問題ありません)。

Fire App Builderでは、メディアフィードとして、JSONまたはXMLを使用できます。使用するデータの構造やタグ名に決まりはありません。Fire App Builderの構成作業では、対象となるフィードの各種要素をクエリ構文(JSON Jayway構文またはXPath式)で記述します。

フィードには、DRMで保護されているメディアのトークンが必要になることもあります。YouTubeベースのフィードなど、各種ビデオホスティングサービスへの対応が予定されていますが、現時点ではまだ実装されていません。

カラー、レイアウト、タイポグラフィなどは自由に調整できます。いずれも、対応する設定が抽出されたXMLファイルまたはJSONファイルを編集することによって行います。

次のスクリーンショットは、Fire App Builderを使用して作成されたサンプルアプリです。

より簡潔なホームページレイアウトも利用できます。

詳細については、Fire App Builderのドキュメントを参照してください。Fire App Builderを使って作成されたサンプルアプリについては、Hallmarkアプリを参照してください。

Amazon Creator

Amazon Creatorでは、ブラウザベースのシンプルなユーザーインターフェイスを使って、Amazon Fire TV対応のHTML5ウェブアプリを構築できます。データソースとしては、YouTubeチャンネルやMedia RSS(MRSS)フィードを使用します。

既にYouTubeやウェブサーバー上にビデオコンテンツがある場合は、Amazon Creatorを使えば短時間(わずか数分)でアプリを作成して公開できます。Amazon Creatorは、開発者ではなくコンテンツクリエイター向けに作られているため、プログラミングスキルは一切必要ありません。

Amazon Creatorでは、​YouTubeチャンネルMRSSフィードのメディアアセットとカテゴリーを基に、自動的にアプリが構築されます。ビデオは、チャンネルセクション(YouTubeの場合)やフィードアイテムカテゴリー(MRSSフィードの場合)ごとにグループ化され、各セクションやカテゴリーがアプリのカテゴリーナビゲーションメニューに一覧表示されます。デフォルトでは次のようにテーマが表示されます。

Amazon Creatorアプリのテーマ(デフォルト)

Amazon Creatorアプリを見ると、WASKアプリと似ています。これは、Amazon Creatorがウェブアプリを構築する際に、背後でWASKが使われているためです。

フィードを構成すると、サイドバーのビジュアルエディターでカラー、フォント、背景画像を選択して、アプリの外観をカスタマイズできるようになります。

Amazon Creatorのビジュアルエディター

完成したら、Amazon Creatorから直接Amazonアプリストアにウェブアプリを公開できます。公開中のアプリについても、同じようにAmazon Creatorから直接更新することができます。

アプリはYouTubeチャンネルやフィードからコンテンツを動的に取得するため、YouTubeやフィードのコンテンツを更新すれば、公開中のアプリにも自動的に反映されます。

作成したアプリはFire TVの販売地域全体(米国、イギリス、日本、ドイツ、オーストリア、インド)で提供されます。日本向けやドイツ向けにアプリをローカライズすることも可能です。

詳細については、Amazon Creatorのドキュメントを参照してください。

機能の比較

次の表は、3つのプラットフォームで利用可能な機能を比較したものです。

カテゴリー 機能 Fire App Builder WASK Amazon Creator
コードベース Java/Android
HTML5/CSS3/JS
フィード形式 JSONフィード
Media RSS XMLフィード
カスタムXMLフィード
アプリ配信オプション APKとしてデバイスにインストール
URLから直接アプリをホスト
メディアタイプ HLS、DASH、Smooth Streaming、MP4
DRM保護されたメディア
ライブストリーム
メディアプロバイダー YouTube
Brightcove
Kaltura
Ooyala
メディアプレーヤー Amazon Media Player
Brightcove
課金 アプリ内課金
認証 Login with Amazon
Facebook認証
Adobe Primetime
広告サービス Freewheel広告
VAST広告
アナリティクス Omnitureアナリティクス
Googleアナリティクス
Crashlytics
Flurryアナリティクス
グローバルカタログ検索 Amazonカタログへの統合によるグローバル音声検索

詳細については、Amazonカタログ統合用のCordovaプラグインを参照してください。

繰り返しになりますが、どのフレームワークにも必要なサービスや機能を追加できます。コードは公開されており(オープンソース)、フレームワークのコードをベースに機能強化や拡張など、各種開発を自由に行うことができます。

ウェブアプリからAndroidアプリへの移行

開発者によっては、まずウェブアプリとして申請し(WASKやAmazon Creatorなど)、後で(Fire App Builderなどで)Java Androidアプリに移行したいと考えます。アプリの種類(ウェブアプリかAndroidアプリか)は、アプリストアへの申請時に選択します。

アプリの申請後には、アプリタイプを別のタイプに移行することはできません(アプリタイプの変換については現時点では未対応ですが、対応が予定されています)。最初にウェブアプリとして申請した場合、新しいバージョンをAndroidネイティブアプリとしてアップロードすることはできません。まったく別のアプリをアップロードする必要があり、結果として既存のユーザーと統計情報を失うことになります。

WASKからネイティブアプリ(Fire App Builderなど)への移行を計画している場合、ウェブアプリにCordovaを使用することを検討してください。Cordovaを使用すると、ウェブアプリをAPKとしてラップし、Androidアプリとして申請することができます。後でAndroidネイティブアプリに移行することになった場合でも、新しいバージョンとしてアプリストアで公開することができます。