Nếu bạn đang sử dụng AngularJS với UI Router, và cần chèn Google Analytics vào website để phân tích người dùng. Hãy thực các bước cơ bản sau đây để cài đặt Google Analytics phân tích website AngularJS của bạn:

1. Chèn vào đoạn mã Google Analytics vào trang chính. Ví dụ là index.html

2. Comment lại lần tracking đầu tiên (do website chưa được load hoàn toàn)

3. Thêm vào sự kiện load trạng thái hoàn tất (của ui-router)

Copy đoạn mã GA mà Google Analytics cung cấp cho bạn. Rồi dán nó vào trang index.html

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
ga('create', 'UA-XXXXXXXX-X', 'yourdomain.com');
//ga('send', 'pageview'); <- Comment dòng này lại

Thêm đoạn cấu hình vào bước khởi động ứng dụng AngularJS, đăng ký sự kiện $stateChangeSuccess trong $rootScope

angular.module('yourApp', [])
  .run(['$rootScope', '$location', '$window', function($rootScope, $location, $window){
     $rootScope
        .$on('$stateChangeSuccess',
            function(event){
 
                if (!$window.ga)
                    return;
 
                $window.ga('send', 'pageview', { page: $location.path() });
        });
}]);

Vậy là xong !

About The Author