インタラクションファセットを取得する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
インタラクションまたはインタラクションのバッチで返すファセットを指定するには、ファセットキーの配列をInteractionExpandOptionsに渡します。
次の例では、デフォルトのIpInfoファセットがインタラクション展開オプションの一部としてリクエストされています。
ファセットは、そのインタラクションにファセットが存在する場合、インタラクションのFacetsディクショナリに追加されます。リクエストしたファセットがモデルで定義されていない場合、xConnectはリクエストの実行時に例外をスローします。インタラクションまたはインタラクションが返されたら、インタラクションで .GetFacet<T>() メソッドを使用してファセットオブジェクトを取得します。
メソッド .GetFacet<T>() は、次の場合にnullを返します。
-
ファセットは、インタラクションが最初に取得されたときにInteractionExpandOptionsの一部として要求されませんでした
-
ファセットが特定のインタラクションに対して設定されていない
-
タイプとキーの組み合わせが正しくありません
次の例は、IpInfoファセットを取得して操作する方法を示しています。
すべての組み込みファセットモデルには、WebVisit.DefaultFacetKeyなどのDefaultFacetKeyプロパティがあります。
デフォルトのファセットキーを使用してファセットを取得する
デフォルトのファセットキーを使用してファセットを取得する
すべての組み込みファセットモデルには、デフォルトのファセットキーをファセットモデルに関連付けるFacetKey属性があります。
ファセット キーが指定されていない場合、xConnectは既定値にフォールバックします。この動作を模倣するために、独自のファセットモデルにFacetKey属性を追加します。次の例では、ファセットキーを指定せずに .Expand<IpInfo>() と .GetFacet<IpInfo>() を使用しています。
ファセット・モデルにFacetKey属性がない場合、例外がスローされます。
ファセットモデル( IpInfoなど)を使用して複数のファセットを定義した場合は、デフォルト以外のファセットキーを定数としてモデルクラスに格納することを検討してください。
インタラクションファセットの設定とイベントの追加
接触ファセットを設定するには、.SetFacet() 拡張メソッドを使用する必要があります。詳細については、以下を参照してください。
インタラクションファセットは、一度設定すると更新できません。