結果を変換する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、トラッカーからトリガーされた結果をxConnectに保存される前にカスタムCarPurchaseOutcomeに変換する方法について説明します。
using Sitecore.XConnect; using Sitecore.XConnect.Collection.Model; using System;
namespace Documentation { public class CarPurchaseOutcome : Outcome { public static Guid CarPurchaseEventDefinitionId { get; } = new Guid("2b7e9e7e-f7ac-4ac2-8f8e-26a9c8644b23");
public CarPurchaseOutcome(DateTime timestamp, string currencyCode, decimal monetaryValue, string model, string make) : base(CarPurchaseEventDefinitionId, timestamp, currencyCode, monetaryValue) { Model = model; Make = make; }
public string Model { get; set; } public string Make { get; set; } }
}
結果変換プロセッサを作成する
- ConvertToXConnectEventProcessorBase
を継承するパイプラインプロセッサを作成します。 - 示された通り CreateEvent と CanProcessPageEventData を実装します。このハンドラは、車のメーカーとモデルが CustomValues 辞書に保存されていると仮定しています。
using Sitecore.Analytics.Model; using Sitecore.Analytics.XConnect.DataAccess.Pipelines.ConvertToXConnectEventPipeline; using Sitecore.Framework.Conditions; using Sitecore.XConnect;
namespace Documentation
{
public class ConvertCarPurchaseOutcome : ConvertToXConnectEventProcessorBase
var carPurchase = new CarPurchaseOutcome(entity.Timestamp, make, model, entity.CurrencyCode, entity.MonetaryValue);
return carPurchase; }
protected override bool CanProcess(Sitecore.Analytics.Model.Entity entity) { if (entity is OutcomeData) { OutcomeData outcomeData = (OutcomeData)entity;
return (outcomeData.OutcomeDefinitionId == CarPurchaseOutcome.CarPurchaseOutcomeID); }
return false; } } }
レジスタ結果変換プロセッサ
MyBrand.CustomEvents.configという新しい設定ファイルを作成し、表示通りハンドラーでパッチを当ててください:
!重要最終結果ハンドラーの前にプロセッサーが接続されなければなりません。
結果を誘発する
結果変換パイプラインプロセッサが期待するカスタムデータで結果をトリガーします:
var ev = Sitecore.Analytics.Tracker.MarketingDefinitions.OutcomesCarPurchaseOutcome.CarPurchaseOutcomeID;
if (ev != null) { var outcomeData = new Sitecore.Analytics.Data.OutcomeData(ev, "DKK", 100000.00m);
outcomeData.CustomValues.Add("Make", "Mazda"); outcomeData.CustomValues.Add("Model", "MX-5");
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterOutcome(outcomeData); }
!注9.0 Update-1以降は、現在のやり取りに関するカスタムデータで結果をトリガーすることも可能です。