1. イベント

カスタム結果モデルの作成

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

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

このトピックでは、Outcomeを継承するCarPurchaseOutcomeという名前のカスタム結果を作成する方法について説明します。次の要件を前提としています。

  • CarPurchaseOutcome結果は、1つの定義項目で使用されます

  • このCarPurchaseOutcomeには、Makeと という名前の2つの追加の必須プロパティがあります Model

定義項目の作成

  1. Sitecoreコンテンツ エディターを開きます。

  2. /sitecore/system/Marketing Control Panel/Outcomesに移動します。

  3. 「 Results 」項目を右クリックし、「 Insert > Outcome」を選択します。

  4. プロンプトが表示されたら、アイテム名を入力します (例: Car Purchase)。

  5. 新しく作成した定義を選択し、「 Review 」タブをクリックして、「 Deploy」を選択します。これにより、定義がWebデータベースに発行され、Reference Data Serviceデータベースにデプロイされます。

カスタム結果モデルの作成

Outcomeクラスを継承するCarPurchaseOutcomeという名前の新しいクラスを作成します。このクラスには固定の定義IDがあるため、他の定義IDでインスタンス化することはできません。

using Sitecore.XConnect;
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; }
    }
}

モデルでのカスタムファセットの定義

コレクション モデルで新しい結果を .DefineEventTypeメソッドを使用して定義します。次の例では、結果モデルがSampleModelという名前のモデルに追加されています。Sitecoreコンテキストでモデルを使用している場合は、モデルクラスを クライアント設定ファイルに登録する必要があります。

using Sitecore.XConnect;
using Sitecore.XConnect.Schema;

namespace Documentation
{
    public class SampleModel
    {
        public static XdbModel Model { get; } = SampleModel.BuildModel();

        private static XdbModel BuildModel()
        {
            XdbModelBuilder modelBuilder = new XdbModelBuilder("SampleModel", new XdbModelVersion(0, 1));

            modelBuilder.ReferenceModel(Sitecore.XConnect.Collection.Model.CollectionModel.Model);
            modelBuilder.DefineEventType<CarPurchaseOutcome>(false);

            return modelBuilder.BuildModel();
        }
    }
}
警告

アウトカムモデルを登録していない場合、そのモデルは使用できません。「このインスタンスのタイプは、スキーマ内のどのタイプにも対応していません」などのエラーが表示されます。

カスタム結果モデルを使用する

xConnectクライアントAPIを使用して、 結果をインタラクションに追加します。次の例は、カスタム結果をインスタンス化する方法を示しています。

var purcaseOutcome = new CarPurchaseOutcome(DateTime.UtcNow, "DKK", 60000, "MX-5", "Mazda");

トラッカーでのカスタム結果モデルの使用

トラッカー内でカスタム結果モデルを使用するには、イベント変換パイプラインプロセッサを作成する必要があります。詳細については、「 カスタムイベントのトリガー」を参照してください。

この記事を改善するための提案がある場合は、 お知らせください!