Включаем аналитику (счетчики) Яндекс.Метрика и Google Analytics в веб-приложении на Ember.js

08.12.2014

Аналитика важна для веб-приложении ничуть не меньше чем для обычных сайтов, а может даже и больше. На данный момент ни Яндекс.Метрика, ни Google Analytics не умеют самостоятельно детектировать переходы внутри веб-приложений, но они имеют API для ручного уведомления счетчиков об переходе пользователя на другую страницу.

В Ember.js это делается так:

Подписываемся на событие "didTransition" внутри App.Router нашего приложения.

Затем выполняем функцию которая уведомляет аналитику о переходе пользователя на другую страницу.

Пример для Яндекс.Метрика и Google Analytics.

App.Router.reopen({
    notifyYandexMetrika: function() {
        if (window.yaCounterXXX !== undefined) {
            window.yaCounterXXX.hit(this.get('url'));
        }
    }.on('didTransition'),

    notifyGoogleAnalytics: function() {
        if (window.ga !== undefined) {
            ga('send', 'pageview', {
                'page': this.get('url'),
                'title': this.get('url')
            });
        }
    }.on('didTransition')
});