Отслеживание пользовательских нажатий кнопок с помощью Sitecore 9 xDB/xConnect
Задача
Как и в Google Analytic, я хочу отслеживать нажатия кнопок на любой странице в Sitecore. Например, если у меня есть две кнопки на странице. Я хочу отслеживать событие клика на обоих. В идеале в Experience Analytic я должен иметь возможность просматривать эти события на странице и непосредственно, а также получать статистику, например, сколько человек нажали на какую кнопку и т. Д.
Уже сделано
- Я создал новое событие под названием "Нажатие кнопки" в "/sitecore/system/Settings/Analytics/Page Events/Custom/Button Click". Мне пришлось развернуть его, используя Review->Deploy, прежде чем я смог получить к нему доступ из кода, используя его Guid.
- Я написал следующий код для запуска события click. Для тестирования я просто поместил его в событие Page_Load.
if (!Tracker.Enabled)
return;
if (!Tracker.IsActive)
Tracker.StartTracking();
ICurrentPageContext currentPage = Tracker.Current.CurrentPage;
if (currentPage == null)
return;
PageEventData pageEvent = new PageEventData("button click", Guid.Parse("{17EAFE75-ADE9-4B7E-AE74-19DD0276559E}"));
pageEvent.Text = "button click";
pageEvent.Data = "button click";
pageEvent.DataKey = "button click";
currentPage.Register(pageEvent);
Проблемы / Вопрос
- Прежде всего, в среде разработки я хочу иметь возможность немедленно просматривать данные, чтобы мне не пришлось ждать окончания сеанса. Я попытался поставить ниже строки после кода выше, но не повезло. Я проверяю непосредственно в базе данных "Xdb.Collection.Shard1" и только после остановки IIS, что я могу видеть новые записи, которые тратят много времени (в среде разработки)
Sitecore.Analytics.Tracker.Current.EndTracking();
Sitecore.Analytics.Tracker.Current.CurrentPage.Cancel();
HttpContext.Current.Session.Abandon();
- Предполагается, что событие нажатия кнопки сохраняется в xDB, где в Experience Analytic эти данные будут отображаться?
- Приведенный выше код не сохраняет событие click в xDB.