手順6: コンテンツレシピをセットアップする
カテゴリーの構成では、メディアの一般的なグループを構成しました。この手順では、フィードのコンテンツ(タイトル、説明、画像、ビデオURLなど)をFire App Builderのコンテンツモデルにマッピングします。レシピ構成の概要については、レシピ構成の概要を参照してください。
コンテンツレシピの構成
-
<プロジェクト名>ContentsRecipe.jsonファイル(app > assets > recipes内)を開きます。
デフォルトのコンテンツレシピ構成は次のようになっています。
{ "cooker": "DynamicParser", "format": "json", "model": "com.amazon.android.model.content.Content", "translator": "ContentTranslator", "modelType": "array", "query": "$[?(@.categories[0] in [$$par0$$])]", "matchList": [ "title@mTitle", "id@mId", "description@mDescription", "videoURL@mUrl", "imgURL@mCardImageUrl", "imgURL@mBackgroundImageUrl", "channel_id@mChannelId" ] } -
以下の表の説明に従って、ファイルの値を構成します。
注:queryパラメーターとmatchListパラメーターは複雑であるため、これらの構成については、後続のコンテンツレシピ:queryパラメーターとコンテンツレシピ:matchListパラメーターの各トピックで説明します。キー 説明 cookerレシピで定義されたパラメーターを受け取ってロジックを実行するユーティリティを定義します。つまり、レシピを「料理」するのがcookerです。この値は、デフォルトの
DynamicParserのままにします。format受信データフィードのデータ形式を指定します。指定できる値は
jsonまたはxmlです。translatorフィードのオブジェクトをFire App Builderのコンテンツモデルに変換するときに、トランスレーションとリフレクションのどちらを使用するかを指定します。トランスレーションの方が高速であり、推奨されます。トランスレーションを使用するには、この値をデフォルトの
ContentTranslatorにします。代わりにリフレクションを使用する場合は、レシピからtranslatorパラメーター全体を削除します。modelデータのコンテンツモデルを指定します。コンテンツモデルは、コンテンツの構造を提供し、その構造をFire App BuilderのUIにマッピングします。デフォルトの
com.amazon.android.model.content.Contentのままにします。modelTypeフィードが配列であるか単一オブジェクトであるかを指定します。指定できる値は
arrayまたはsingleです。ほとんどのフィードはarrayです。たとえば、JSONフィードが角かっこで囲まれている場合や、XMLフィードで山かっこが入れ子になっている場合は、arrayを選択します。フィードが1つのオブジェクトとして構成されている場合は、singleを選択します。queryメディアフィードからコンテンツアイテムを返すために使用されるクエリ。クエリの構文は、フィードの構造によって異なります。コンテンツアイテムを取得するには、適切なクエリを作成する必要があります。JSONフィードの場合は、クエリ構文にJayway JsonPath構文(英語のみ)を使用します。XMLフィードの場合は、XPath式(英語のみ)を使用します。現時点では、このフィールドの値はそのままにします。これは、次の手順の コンテンツレシピ:queryパラメーターで構成します。
queryResultTypequeryパラメーターの結果が文字列のリストを返す場合は、このqueryResultTypeパラメーターを追加して、値を[]$に設定します。クエリの結果がオブジェクト(マップ)である場合は、このパラメーターを省略します(Fire App Builderでは、オブジェクトをJavaハッシュマップにプッシュする必要があるため、結果の型を把握する必要があります)。matchListqueryパラメーターで定義したクエリからは、結果が返されます。この結果では、フィードで使用されている名前を、Fire App Builderのコンテンツモデルで使用される名前にマッピングする必要があります。matchListパラメーターは、クエリの結果をFire App Builderのメディアカテゴリーの名前にマッピングします。現時点では、このフィールドの値はそのままにします。これは、後の手順の コンテンツレシピ:matchListパラメーターで構成します。
次のステップ
これでコンテンツレシピの基本的なプロパティが構成されたので、queryパラメーターについて詳しく見ていきましょう。次の手順の コンテンツレシピ:queryパラメーターに進みます。

