どうも中田です。
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で動くのは何故だろう。。という疑問を横目に今回の問題は解決