2014-11-13 30 views
7

'https://github.com/danwilson/google-analytics-plugin.git' eklentisini ngCordova ile kullanmaya çalışıyorum. Eklentiyi ekledim ve denetleyicimde bir bağımlılık olarak ngCordova ekledim.

belirlerim çalıştığınızda:

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

bu hatayı alıyorum: 'TypeError: özelliği okunamıyor '' tanımsız bir' startTrackerWithId.

Analitiklerimi Google kontrol panelinde bir mobil uygulama olarak ayarladım.

Bu konuda yardımcı olabilecek herhangi biri var mı?

+0

$ cordovaGoogleAnalytics nerede ilan edilir? Kontrolörün bir param mı? –

cevap

7

Bu, cordova tarafından başlatılmadan önce analitik eklentisi kullanmaya çalıştığınız için gerçekleşir.

Sadece bir setTimetout ile recursevely başlatma sarın:

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

Yukarıdaki cevabı kabul etmek, ancak '_waitForAnalytics();' eklemek gerekiyordu. Yukarıdaki kodun son satırından sonra. Yanıt için teşekkürler :-) – mcneela86

+0

Ooops, üzgünüm, ben cevabını düzenledim –

+0

Yukarıdaki seçeneği iyi çalışıyor, ama aynı zamanda burada yöntemle denedim (http://forum.ionicframework.com/t/ngcordova -google-analytics-cordovagoogleanalytics/12619/3) ve ayrıca çalışır. Bir yöntem ngcordova kullanır ve bir değil. – mcneela86

1

bu Bu uygulamanın her eyalette değişikliği izleyecek

$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"); 
    } 
    }); 
}); 

google analytics ile takip etmenin en iyi yolu olduğunu düşünüyorum ve kullanıcının açık olduğu durumu size verecektir.