述語
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
述語は、連絡先の特定の側面 (優先言語や特定のキャンペーンをトリガーしたことがあるかどうかなど) に関連する条件とセグメンテーションクエリを定義するクラスです。述語インターフェイスや基本クラスはありません。条件とセグメンテーションクエリの組み合わせが述語を構成します。
述部は、次のインターフェイスを実装します。
-
Sitecore.Framework.Rules.ICondition条件を定義します
-
Sitecore.XConnect.Segmentation.Predicates.IContactSearchQueryFactoryセグメンテーションクエリを定義します
コンテキストは、条件クエリとセグメンテーションクエリのどちらを使用するかを決定します。例えば:
-
List Managerは述語をセグメンテーション エンジンに渡し、セグメンテーション エンジンはIContactSearchQueryFactoryを使用して一致する連絡先のリストを取得します。
-
マーケティング オートメーション エンジンはIConditionを評価し、その結果を使用して、取引先担当者がプラン内のどこに移動するべきかを決定します。
述語によっては、IConditionを実装することだけが理にかなっています。たとえば、「連絡先の電子メールアドレスが___________と一致するとき」(Sitecore.XConnect.Segmentation.Predicates.Contacts.EmailAddressMatches)のロジックは、1つの連絡先しか返されないため、セグメンテーションクエリには適していません。
Sitecore。ルールとSitecoreの比較。フレームワーク.ルール
Sitecore.RulesとSitecore.Framework.Rulesは、ルール エンジンの2つの完全に別個の実装であり、重複しません。ただし、どちらのタイプの条件もルールエディタのUIで使用できます。次の例では、強調表示された条件がIConditionを実装します。
コンポーネントのパーソナライゼーションは、IConditionをサポートしていません。コンポーネントのパーソナライゼーションとマーケティングオートメーションに同じロジックを使用する場合は、マーケティングオートメーションのICondition実装とコンポーネントのパーソナライゼーションのRuleCondition<T>whereT:RuleContext実装を作成する必要があります。
例: AddressCityMatches
次の例では、AddressCityMatchesはIContactSearchQueryFactoryとIConditionの両方を実装しています。
-
マーケティングオートメーションのコンテキストでは、Evaluate() は、コンテキストコンタクトの市区町村が指定された市区町村と一致するかどうかに応じて、trueまたはfalseを返します。
-
セグメンテーションのコンテキストでは、CreateContactSearchQuery() はセグメンテーションクエリの一部を形成する式を構築します。

