手順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パラメーターで構成します。
queryResultType
query
パラメーターの結果が文字列のリストを返す場合は、このqueryResultType
パラメーターを追加して、値を[]$
に設定します。クエリの結果がオブジェクト(マップ)である場合は、このパラメーターを省略します(Fire App Builderでは、オブジェクトをJavaハッシュマップにプッシュする必要があるため、結果の型を把握する必要があります)。matchList
query
パラメーターで定義したクエリからは、結果が返されます。この結果では、フィードで使用されている名前を、Fire App Builderのコンテンツモデルで使用される名前にマッピングする必要があります。matchList
パラメーターは、クエリの結果をFire App Builderのメディアカテゴリーの名前にマッピングします。現時点では、このフィールドの値はそのままにします。これは、後の手順の コンテンツレシピ:matchListパラメーターで構成します。
次のステップ
これでコンテンツレシピの基本的なプロパティが構成されたので、queryパラメーターについて詳しく見ていきましょう。次の手順の コンテンツレシピ:queryパラメーターに進みます。