Любая хорошая идея о том, как регистрировать события Google Analytics на кликах?

63
5

Помимо регистрации каждого изменения местоположения, я также хотел бы зарегистрировать эти события кликов, поскольку много времени пользователь нажимал бы на sth, и этот клик не обновлял хэш местоположения. Было бы полезно, если бы можно было регистрировать эти события, перехватывая вызовы, сделанные для помощника действий. Я пробовал взломать и пока не повезло. Я все еще могу зарегистрировать их в обработчиках событий. Он просто чувствует себя немного многословным. У кого-нибудь есть схожие проблемы? Есть идеи?

Чтобы было ясно, например, вместо того, чтобы на маршруте или контроллере имелся некоторый код, как показано ниже, вызов, сделанный в Google Analytics, мог срабатывать при каждом срабатывании события.

clickMe: function(){
App.Analytics.logEvent({category: "userEvent", action: "click", label:"click me", value: 1});
},

Я попытался определить персонализированный помощник, который в основном представляет собой оболочку вокруг помощника действий, он делает вызов для регистрации google-аналитических событий, используя информацию, полученную от ее вызывающего абонента, а затем внутренне вызывает ember-помощник. Я использую свой собственный помощник в шаблоне, чтобы попробовать, но события журнала произошли только в первый раз, когда был создан этот шаблон. Если я продолжаю нажимать на представление, активность пользователя не регистрируется.

спросил(а) 2021-01-25T09:33:02+03:00 4 месяца, 3 недели назад
1
Решение
63

Для этого вы можете использовать механизм jbjbb для события. В любом представлении Ember добавление обработчика с именем для события автоматически установит прослушиватель для этого события.

Поместив такой обработчик click на ApplicationView вы можете прослушивать все клики для всех вложенных представлений.

App.ApplicationView = Em.View.extend({
click: function(event) {
console.log('ApplicationView.click', event);
}
});

Отсюда вы можете использовать this.get('controller').send(event) чтобы уведомить контроллер, маршрут и т.д., Чтобы перейти к функции, которая вызывает код Google Analytics.

ответил(а) 2021-01-25T09:33:02+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема