1. イベントの追跡

インタラクションファセットの追跡

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このトピックでは、トラッカーのコンテキストでインタラクションにファセットを追加する方法について説明します。ファセットの詳細については、次のトピックを参照してください。

ファセットデータをカスタム値に格納する

  1. インタラクションファセットを作成し、モデルに登録します

  2. トラッキングコンテキストでインタラクションファセットのインスタンスを作成します。ファセットはSerializableでマークする必要があります

  3. 次に示すように、ファセットをSitecore.Analytics.Tracker.Current.Interaction.CustomValuesに追加します。この例では、ファセットキーがディクショナリキーとして使用されます。

namespace Documentation
{
    public class Tracking
    {
        public void Example()
        {
            CustomerMood mood = new CustomerMood()
            {
                MoodDescription = "Super happy!"
            };

            Sitecore.Analytics.Tracker.Current.Interaction.CustomValues[CustomerMood.DefaultFacetKey] = mood;
        }
    }
}

インタラクション変換プロセッサを作成する

  1. 継承するプロセッサを作成する ConvertToXConnectInteractionProcessorBase

  2. 示されているようにProcess() メソッドを実装します。 CustomerMoodファセットをargs.TrackerVisitData.CustomValuesからargs.Facetsにコピーします。

using Sitecore.Analytics.XConnect.DataAccess.Pipelines.ConvertToXConnectInteractionPipeline;

namespace Documentation
{
    public class ConvertInteractionFacet : ConvertToXConnectInteractionProcessorBase
    {
        public override void Process(ConvertToXConnectInteractionPipelineArgs args)
        {
            if (args != null)
            {
                var customValues = args.TrackerVisitData.CustomValues;

                var moodFacet = customValues[CustomerMood.DefaultFacetKey];

                if (moodFacet != null && moodFacet is CustomerMood)
                {
                    args.Facets.Add(CustomerMood.DefaultFacetKey, moodFacet);
                }
            }
        }
    }
}
メモ

カスタム値 (args.TrackerVisitData.CustomValues) はxConnectに保存されません。カスタム値がxConnectでサポートされている形式に変換されていない場合、データは失われます。

インタラクション変換プロセッサを登録する

次に示すように、メインConvertToXConnectInteractionProcessorのプロセッサにパッチを適用します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <sitecore>
        <pipelines>
        <convertToXConnectInteraction>
            <processor patch:after="processor[@type='Sitecore.Analytics.XConnect.DataAccess.Pipelines.ConvertToXConnectInteractionPipeline.ConvertToXConnectInteractionProcessor, Sitecore.Analytics.XConnect']" type="Documentation.ConvertInteractionFacet, Documentation"/>
        </convertToXConnectInteraction>
        </pipelines>
    </sitecore>
</configuration>
この記事を改善するための提案がある場合は、 お知らせください!