どうも中田です。
GoogleAnalyticsプラグインを導入したのですが、Android実機でこんなエラーが出ました。
Cannot read property 'startTrackerWithId' of undefined
ん〜、iOSでは動いたのになんでじゃろ。
って感じで色々調べてたら、 ngCordova がDIできていないということが判明!
GoogleAnalyticsの実装は別サービスとして分けていて、
そこのモジュールに ngCordova のDIが必要だったんですね。
(大元のJSでDIしてたんで問題ないかと思ってたのですが。。)
angular.module('services.analytics', ['ngCordova'])
.factory('GAnalytics',
['$cordovaGoogleAnalytics', function($cordovaGoogleAnalytics){
return {
startTrackerWithId : function() {
$cordovaGoogleAnalytics.startTrackerWithId('UA-66195554-1');
},
setUserId : function(member_id) {
$cordovaGoogleAnalytics.setUserId(member_id);
},
trackView : function(screen_name) {
console.log('GA: ' + screen_name);
$cordovaGoogleAnalytics.trackView(screen_name);
}
}
}]);
元は1行目の 'ngCordova' がなかったんです。
しかしiOSで動くのは何故だろう。。という疑問を横目に今回の問題は解決







