7

ngCordova에서 'https://github.com/danwilson/google-analytics-plugin.git'플러그인을 사용하려고합니다. 플러그인을 추가하고 컨트롤러에 종속성으로 ngCordova를 추가했습니다.

내가 설정하려고하면

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

나는이 오류 : '형식 오류 : 속성을 읽을 수 없습니다' '정의의'startTrackerWithId.

Google 대시 보드에서 내 분석을 모바일 앱으로 설정했습니다.

아무도 도와 드릴 수 있습니까?

+0

여기서 $ cordovaGoogleAnalytics가 선언 되었습니까? 그것은 컨트롤러의 매개 변수입니까? –

답변

7

코드 플러그인으로 초기화되기 전에 분석 플러그인을 사용하려고하기 때문에 이러한 현상이 발생합니다.

그냥 setTimetout와 recursevely 초기화를 포장 :

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

위의 대답을 수락하지만 '_waitForAnalytics();'을 (를) 추가해야했습니다. 위 코드의 마지막 줄 이후. 응답 주셔서 감사합니다 :-) – mcneela86

+0

Ooops, 죄송합니다, 대답을 편집했습니다 –

+0

위의 옵션은 정상적으로 작동하지만 여기 방법으로 시도했습니다 (http://forum.ionicframework.com/t/ngcordova). -google-analytics-cordovagoogleanalytics/12619/3) 및 작동합니다. 한 가지 방법은 ngcordova를 사용하고 하나는 사용하지 않습니다. – mcneela86

1

내가이이 응용 프로그램의 각 상태 변화를 추적합니다

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

구글 분석으로 추적하는 가장 좋은 방법이라고 생각 사용자가있는 상태를 제공합니다.