2015-10-19 2 views
2

Я пытаюсь настроить два трекера для анализа в моем приложении «Угловое приложение». Одним из моих требований является настройка трекера для каждого пользователя, который входит в приложение, которое пересылает отслеживание страниц и данные событий в статический трекер, известный во время настройки. Тем не менее, второй трекер должен быть установлен во время выполнения после входа пользователя в систему. Он должен отправлять данные аналитики трекеру, связанному с их учетной записью.AngularJS Google Analytics Динамический трекер

Я новичок в аналитике google и думал, что это будет так же просто, как нажать на командную очередь ga для трекеров, но после прочтения литературы разработчиков аналитики кажется, что мне нужно будет явно отправлять команды отслеживания страниц для обоих трекеров.

Так что вместо того, чтобы повторно изобретать колесо, я посмотрел revolunet/angular-google-analytics, надеясь, что это решит мою проблему. Однако он жалуется на то, что не будет устанавливать трекер во время выполнения. Я попытался с помощью

AnalyticsProvider.delayScriptTag(true);

затем мутирует массив

Analytics.configuration.accounts;

во время выполнения, но это, кажется, не производит никакого эффекта.

Если у кого-то был опыт с этим в прошлом, пожалуйста, дайте мне знать, я ищу чистое решение с угловым ишемией, помимо размещения обертки вокруг командной строки ga, если это не моя лучшая ставка.

Спасибо!

+0

Можете ли вы разместить свой код конфигурации? – webdev5

ответ

0

Немного поздно в ответе, но тем, кому это может помочь, я закончил создание analyticsService, который отвечает за настройку динамического трекера. Для того, чтобы он работал, я добавил следующее мое приложение в config

AnalyticsProvider.delayScriptTag(true); 
AnalyticsProvider.ignoreFirstPageLoad(true); 
AnalyticsProvider.setPageEvent('$stateChangeSuccess'); 

Это задержало инициализацию автоматического слежения. Тогда я раздвоенный angular-google-analytics и добавил следующий код

this._kickOffAutoTracking = function() { 
    // activates page tracking 
    if (trackRoutes) { 
    $rootScope.$on(pageEvent, function() { 
     that._trackPage(); 
    }); 
    } 
}; 

Наконец в моем analyticsService я сделал мой запрос API, получил трекер пользователя и добавить его следующим образом:

Analytics.setAccount([ 
    { tracker: DEFAULT_TRACKER, name: "defaultTracker", trackEvent: true }, 
    { tracker: user.analyticCode, name: "userTracker" } 
]) 

Analytics.createAnalyticsScriptTag(); 
Analytics.kickOffAutoTracking(); 

Это был быстрый грязный раствор ,

Смежные вопросы