開発者コンソール

手順5: カテゴリーレシピ: matchListパラメーター

手順5: カテゴリーレシピ: matchListパラメーター

カテゴリーレシピの構成を続行して、matchListパラメーターとkeyDataTypeパラメーターを設定しましょう。

matchListパラメーター

matchListパラメーターの目的は、カテゴリーのクエリ結果から特定のプロパティを選択し、それらをFire App Builderのコンテンツモデルにマッピングすることです。

Fire App Builderのサンプルアプリでは、カテゴリーレシピの値はStringKey@mNameになっています。

この構文の構成を見ていきましょう。@記号の左側には、クエリ結果内でターゲットにするプロパティを指定します(StringKeyは文字列のリストを選択します)。@記号の右側には、プロパティのマッピング先となるFire App Builder要素(mName)を指定します。

カテゴリーレシピでは、matchListパラメーターによってフィードのカテゴリーをmNameにマッピングする必要があります。

Fire App Builderのサンプルアプリでは、クエリ結果が文字列のリストであるため、StringKeyを使用して文字列とマッチさせます。

たとえば、結果が次のような文字列のリストであるとします。

Text='テクノロジー'
Text='ガジェット'

このテキストコンテンツをマッチさせて、Fire App BuilderのUIのカテゴリー要素にマッピングするには、次の構文を使用します。

StringKey@mName

別の例として、クエリ結果が次のようになっているとします。

<list>
<title>マイカテゴリータイトル</title>
</list>

この場合は、カテゴリーのタイトルを次のようにマッピングします。

/list/title@mName

スラッシュ(/)は、XMLノードを1レベル下に移動します。</div></div></div>

クエリの結果セットに含まれているのが、単なる文字列のリストではなく、次のようなJSONオブジェクトであるとします。

"list": { "title" : "マイカテゴリータイトル" }

マイカテゴリータイトル」をマッチさせてmNameに変換するには、次の構文を使用します。

list/title@mName

より深いオブジェクトレベルに移動するには、スラッシュ(/)を使用します(XPathと同様です)。この例では、listはルートの1階層下のオブジェクトで、titleはそのさらに1階層下のオブジェクトです。この2つのレベルを通過した先がカテゴリー名になります。

keyDataTypeパラメーター

Fire App Builderには、選択したカテゴリーを使用してグループ化するメディアアイテムはどれかを知らせる必要があります。keyDataTypeパラメーターは、カテゴリーに関連のあるメディアアイテムを識別します。このパラメーターはカテゴリーレシピで使用され、後でコンテンツレシピの変数に渡されます。

Fire App Builderのクエリ結果は文字列のリストであるため、StringKey@keyDataPathを使用してメディアアイテムをターゲットにし、カテゴリーに関連付けます。結果が同じように文字列のリストであれば、次のデフォルトを使用できます。

"keyDataType": "StringKey@keyDataPath"

ただし、次のように、containerノードの内部にassetsノードが入れ子になっていて、さらにその内部にメディアオブジェクトがあるとします。

"container": {
    "assets": [
    "5825652561001",
    "5825652558001",
    "5825652569001",
    "5873045223001",
    ]
}

または、次の構造も同様です。

<container>
  <assets>
    <id>5825652561001</id>
    <id>5825652558001</id>
    <id>5825652569001</id>
    <id>5873045223001</id>
  </assets>
</container>

この場合にメディアオブジェクトを取得するには、次のような構文を記述します。

container/assets@keyDataPath

matchListパラメーターと同様に、keyDataTypeクエリでもJayway JsonPath構文は使用しません。代わりに、ノード名の後に/を記述して次のレベルに移動することで各ノードを照合します。container/assetsは、このレベルのすべてのアイテムを照合します。

アットマーク@の右側のkeyDataPathは、これらのメディアオブジェクトがFire App Builderでどのように格納され、使用されるかを示します。@keyDataPathにより、アイテムをFire App Builderのコンテンツモデルとマッチさせることができます。

次のステップ

これでカテゴリーレシピの構成が完了しました。次はコンテンツレシピを構成します。手順6: コンテンツレシピをセットアップするを参照してください。