2014-11-13 24 views
7

Tôi đang cố gắng sử dụng plugin 'https://github.com/danwilson/google-analytics-plugin.git' với ngCordova. Tôi đã thêm các plugin và thêm ngCordova như là một phụ thuộc trong bộ điều khiển của tôi.

khi tôi cố gắng thiết lập:

$cordovaGoogleAnalytics.startTrackerWithId('UA-XXXXXXXX-X'); 

tôi nhận được lỗi này: 'Lỗi Loại: Không thể đọc thuộc 'startTrackerWithId' không xác định'.

Tôi đã thiết lập phân tích của mình dưới dạng ứng dụng dành cho thiết bị di động trong trang tổng quan của Google.

Ai đó có thể trợ giúp việc này?

+0

Trường hợp $ cordovaGoogleAnalytics được khai báo? Nó là một param của bộ điều khiển? –

Trả lời

7

Điều đó xảy ra vì bạn đang cố gắng sử dụng plugin phân tích trước khi nó được khởi tạo bởi cordova.

Chỉ cần quấn khởi recursevely với một setTimetout:

function _waitForAnalytics(){ 
    if(typeof analytics !== 'undefined'){ 
     $cordovaGoogleAnalytics.debugMode(); 
     $cordovaGoogleAnalytics.startTrackerWithId('UA-XXXXXXXX-X'); 
     $cordovaGoogleAnalytics.trackView('APP first screen'); 
    } 
    else{ 
     setTimeout(function(){ 
      _waitForAnalytics(); 
     },250); 
    } 
}; 
_waitForAnalytics(); 
+0

Chấp nhận câu trả lời ở trên, nhưng cần thêm '_waitForAnalytics();' sau dòng mã cuối cùng ở trên. Cảm ơn bạn đã trả lời :-) – mcneela86

+0

Rất tiếc, xin lỗi về điều đó, tôi đã chỉnh sửa câu trả lời –

+0

Tùy chọn ở trên hoạt động tốt, nhưng tôi cũng đã thử với phương pháp ở đây (http://forum.ionicframework.com/t/ngcordova -google-analytics-cordovagoogleanalytics/12619/3) và nó cũng hoạt động. một phương pháp sử dụng ngcordova và một phương pháp thì không. – mcneela86

1

Tôi nghĩ rằng đây là cách tốt nhất để theo dõi với Google Analytics

$ionicPlatform.ready(function() { 
    $rootScope.$on('$stateChangeSuccess', function() { 
    if(typeof analytics !== undefined) { 
     analytics.debugMode(); 
     analytics.startTrackerWithId("UA-xxxxxxxx-x"); 
     analytics.trackView($state.current.name); 
    } else { 
     console.log("Google Analytics Unavailable"); 
    } 
    }); 
}); 

này sẽ theo dõi trên mỗi thay đổi trạng thái về việc áp dụng và sẽ cung cấp cho bạn trạng thái mà người dùng đang bật.

Các vấn đề liên quan