開発者コンソール

手順2: レシピ構成の概要

手順2: レシピ構成の概要

メディアフィードの読み込みが完了したら、Fire App Builderでフィードからメディアカテゴリーとコンテンツを取得するために使用される、2つのレシピを構成する必要があります。「レシピ」とは、アプリをビルドするときにFire App Builderによって使用される設定がキーと値の形式で記述されたJSONファイルです。構成する必要があるレシピは次の2つです。

  1. カテゴリーレシピ: メディアをグループ化するさまざまなコンテナを提供します。一部のパラメーターは複雑であるため、手順は次の追加トピックに分けて説明します。
    1. カテゴリーレシピ:queryパラメーター
    2. カテゴリーレシピ:matchListパラメーター
  2. コンテンツレシピ: メディアフィードのプロパティ(タイトル、説明、ビデオURL、画像など)をFire App Builderのコンテンツモデルにマップします。一部のパラメーターは複雑であるため、手順は次の追加トピックに分けて説明します。
    1. コンテンツレシピ:queryパラメーター
    2. コンテンツレシピ:matchListパラメーター

カテゴリーについて

デフォルトの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.jsonAcmeMediaCategoriesRecipes.json
  • LightCastContentsRecipe.jsonAcmeMediaContentsRecipe.json
  • LightCastDataLoaderRecipe1.jsonAcmeMediaDataLoaderRecipe1.json

Android Studioでファイルをコピーするには、通常のコピー&ペーストコマンド(Cmd+CとCmd+V)を使用するか、ファイルを右クリックし、[Refactor] > [Copy] の順に選択します。

Fire App Builderには、デモンストレーション用の追加ファイルがいくつか付属しています。これらの追加ファイルは無視して構いません。

構成サンプル

一般的なフィード(iTunesやRokuの仕様に準拠したフィードなど)の構成例については、以下を参照してください。

次のステップ

カテゴリーレシピをセットアップするを参照して、フィード内のカテゴリーを識別します。Fire App Builderでは、これらのカテゴリーに基づいてメディアがグループ化されます。