ファセットマージハンドラーを作成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ファセットマージハンドラは、2つのコンタクトがマージされた際に特定のファセットに何が起こるべきかを決定します。ファセットマージハンドラはxConnect Collectionサービス上で設定され、マージ操作が提出されると実行されます。
!重要すべての値の側面は自動的にマージされます。すべてのカスタムファセットに対して専用ハンドラーを作成する必要はありません。デフォルトの動作を上書きしたい場合を除いては。
以下の場合は、自分でマージハンドラーを作成するべきです:
- 計算されたファセットを作成しました。計算されたファセットは自動的にマージされません。
- 特定のファセットをデフォルトとは異なる方法でマージしたいのです。例えば、ソース値が常にターゲット値を上書きしてほしい場合もあります。
価値の側面を創出しましょう
using Sitecore.XConnect;
namespace Documentation { public class CyclistProfile : Facet { public string BikeBrand { get; set; } public string StravaID { get; set; } public string NumberOfBikeRides { get; set; } } }
マージハンドラを実装する
示されたようにMergingCalculatedFacetHandlerを実装してください。
!注UpdateFacet()メソッドからfalseを返してください。このメソッドは計算されたファセット計算にのみ使用されます。
using Sitecore.ContentTesting.Collection.Model.Plugins.Utils; using Sitecore.ContentTesting.Model.xConnect; using Sitecore.XConnect; using Sitecore.XConnect.Service;
namespace Sitecore.Documentation.Plugins { ///
protected override bool UpdateFacet(CyclistProfile currentFacet, Interaction interaction) { // For calculated facets only // Return false as contact not changed by this method return false; }
protected override bool Merge(CyclistProfile source, CyclistProfile target) { if (source == null || target == null) { // No contacts changed - return false return false; }
// Add source and target values together target.NumberOfBikeRides += source.NumberOfBikeRides;
// Return true if contact was changed return true; } } }
ファセットマージハンドラーの設定
-
scという名前のファイルを作成します。 c:\path_to_xconnect\root\App_data\config\sitecore\Collection\CustomPlugins.xml 。
-
以下の構成を貼り付け、ハイライトされた行を自分のハンドラーに置き換えます:
Sitecore.Documentation.Plugins.MergeCustomFacetHandler, Sitecore.Documentation Sitecore.XConnect.Service.IContactMergeHandler, Sitecore.XConnect.Service Singleton -
scファイルをコピーしてください。CustomPlugins.xmlファイルをすべてのxConnect CollectionとSearchインスタンスにコピーしてください。
!注デフォルトのマージ面ハンドラはc:\path\toxconnect\root\App_data\config\sitecore\Collection\scで設定されています。XConnect.Collection.Model.Plugins.xmlファイル。
コンタクトマージとトラッカー
コンタクトマージはxConnectが所有し、匿名のコンタクトが既に存在するコンタットとして自分を識別した際にトラッカーによって呼び出されます。マージハンドラをテストするためにxConnect Client APIを使うことができます。