変換で対応するカスタムデータを持つカスタムイベント
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
これは「 変換せずにマッピングされるカスタムデータによるカスタムイベント」のセクションに似ていますが、違いはSitecore 8.xのページイベントからのデータが変換されない限りSitecore 9のカスタムイベントにマッピングできない点です。
例えば、Sitecore 8.xで、訪問者が顧客ロイヤルティプログラムのメンバーシップ状況を表示するページを閲覧したページでのイベントをキャプチャした例を考えてみましょう。
MongoDBでは、ページイベントは以下のようになります。
{ "Name" : "Loyalty program status checked", "ItemId" : NUUID("4257b6b4-e263-4356-bba1-9affce442a77"), "Timestamp" : NumberLong(0), "Data" : "{ \"currentLevel\" : \"silver\", \"pointsToNextLevel\" : \"10000\" }", "Text" : "Loyalty program status level for member 100011 is silver", "PageEventDefinitionId" : NUUID("5963f929-f278-4784-ba9d-be2fa5b86ae9"), "DateTime" : ISODate("2017-11-11T11:`00
`.000Z"), "Value" : 5 }Sitecore 9では、このデータを表現するために以下のカスタムイベントを作成しました:
using Sitecore.XConnect; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace MigrationTool.Examples.Loyalty { public class LoyaltyProgramStatusCheckedEvent3 : Event { public LoyaltyProgramStatusCheckedEvent3(Guid definitionId, DateTime timestamp) : base(definitionId, timestamp) { }
public string StatusLevel { get; set; }
public int PointsToNextLevel { get; set; } } }
以下のマッピングを実装したいと思います:
Sitecore 8.x プロパティ
Sitecore 9のプロパティ
Data
StatusLevel および PointsToNextLevel
DateTime
Timestamp
PageEventDefinitionId
DefinitionId
Text
Text
Value
EngagementValue