手順2: レシピ構成の概要
メディアフィードの読み込みが完了したら、Fire App Builderでフィードからメディアカテゴリーとコンテンツを取得するために使用される、2つのレシピを構成する必要があります。「レシピ」とは、アプリをビルドするときにFire App Builderによって使用される設定がキーと値の形式で記述されたJSONファイルです。構成する必要があるレシピは次の2つです。
- カテゴリーレシピ: メディアをグループ化するさまざまなコンテナを提供します。一部のパラメーターは複雑であるため、手順は次の追加トピックに分けて説明します。
- コンテンツレシピ: メディアフィードのプロパティ(タイトル、説明、ビデオURL、画像など)をFire App Builderのコンテンツモデルにマップします。一部のパラメーターは複雑であるため、手順は次の追加トピックに分けて説明します。
カテゴリーについて
デフォルトのLightcastフィードを使用したホーム画面を見ると、メディアが複数の行に整理されていることがわかります。下のスクリーンショットでは、メディアが「Jamaican Attractions」や「The Country Jamaica」などのカテゴリーにグループ化されています。
メディアフィードの構造はそれぞれ異なります。たとえば、「categories」の代わりに「channels」が使用されたり、「image」の代わりに「img」が使用されたりすることもあれば、階層や構造が異なる場合もあります。このため、フィード内のカテゴリーとコンテンツをターゲットにするクエリ構文を記述する必要があります。
フィードがJSONの場合は、Jayway JsonPath構文(英語のみ)を使用してクエリを作成します。フィードがXMLの場合は、XPath構文(英語のみ)を使用してクエリを作成します。
クエリからカテゴリーとコンテンツを照会したら、セレクターを適用して、結果からカテゴリーまたはコンテンツのテキストを取得します。このセレクターはmatchList
と呼ばれるもので、Jayway JsonPath式もXPath式も使用しない、Fire App Builderのカスタム構文です。
レシピファイルのカスタマイズ
Fire App Builderのapp > assets > recipesにあるサンプルアプリファイルには、デフォルトで「LightCast」という名前が付いています。 基本的な構成に欠かせないファイルは次の3つです。
LightCastCategoriesRecipes.json
LightCastContentsRecipe.json
LightCastDataLoaderRecipe1.json
特定のプロジェクト向けにファイル名をカスタマイズするには、これらのファイルを複製します(Android Studioでは、ナビゲーションツリーでファイルをコピー&ペーストして複製できます)。次に、複製したファイルに新しい名前を指定します。プロジェクトの名前が「acmemedia」の場合、これらのファイル名を次のようにカスタマイズできます。
LightCastCategoriesRecipes.json
→AcmeMediaCategoriesRecipes.json
LightCastContentsRecipe.json
→AcmeMediaContentsRecipe.json
LightCastDataLoaderRecipe1.json
→AcmeMediaDataLoaderRecipe1.json
Android Studioでファイルをコピーするには、通常のコピー&ペーストコマンド(Cmd+CとCmd+V)を使用するか、ファイルを右クリックし、[Refactor] > [Copy] の順に選択します。
Fire App Builderには、デモンストレーション用の追加ファイルがいくつか付属しています。これらの追加ファイルは無視して構いません。
構成サンプル
一般的なフィード(iTunesやRokuの仕様に準拠したフィードなど)の構成例については、以下を参照してください。
次のステップ
カテゴリーレシピをセットアップするを参照して、フィード内のカテゴリーを識別します。Fire App Builderでは、これらのカテゴリーに基づいてメディアがグループ化されます。