1. イベント

カスタム目標モデルを作成する

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

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

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

  • NewsletterSignup目標は、1つの目標定義アイテムで使用されます

  • NewsletterSignupゴールには、オプションのCampaignIdプロパティがあります

目標定義項目の作成

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

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

  3. 「ゴール」アイテムを右クリックし、「 Insert > Goal」を選択します。

  4. プロンプトが表示されたら、アイテム名を入力します (例: ニュースレターのサインアップ)。

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

カスタム目標モデルを作成する

Goalクラスを継承するNewsletterSignupという名前の新しいクラスを作成します。このクラスには固定の定義IDがあるため、他の定義IDでインスタンス化することはできません。このクラスには、連絡先がキャンペーンの一部としてニュースレターにサインアップした場合に設定できるCampaignIdという名前の省略可能なプロパティがあります。

using Sitecore.XConnect;
using System;

namespace Documentation
{
    public class NewsletterSignup : Goal
    {
        public static Guid NewsletterSignupEventDefinitionId { get; } = new Guid("3a7e9e7e-a2ac-4ac2-8f8e-26a9c8644b23");
        public Guid CampaignId { get; set; }

        public NewsletterSignup(DateTime timestamp)
            : base(NewsletterSignupEventDefinitionId, timestamp)
        {
        }
    }
}

モデルでのカスタム目標の定義

コレクションモデルの新しい目標を定義するには、.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<NewsletterSignup>(false);

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

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

カスタム目標モデルを使用する

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

var newsletterGoal = new NewsletterSignup(DateTime.UtcNow);

var campaign = Guid.Parse("e7f411bc-09e6-4872-8961-1cf078e317e9"); // Sample campaign ID
newsletterGoal.CampaignId = campaign;

トラッカーでカスタム目標モデルを使用する

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

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