1

Я пытаюсь добавить аналитику google в проект Ionic. Я пытаюсь с angular-google-analytics по @jujuleНевозможно сделать работу угло-google-analytics в Ionic. Прерванное выполнение из-за исключения

Для целей тестирования я просто создал sidemenu проект с ионической CLI:

ionic start angular-google-analytics sidemenu 
cd angular-google-analytics 
bower install angular-google-analytics 

В index.html добавил;

<script src="lib/angular-google-analytics/dist/angular-google-analytics.js"></script> 

app.js:

angular.module('starter', [ 
    'ionic', 'starter.controllers', 'angular-google-analytics' 
]) 

.run(function($ionicPlatform, $rootScope, Analytics, $location) { 
    $ionicPlatform.ready(function() { 
    // [...] 

    $rootScope.$on('$stateChangeSuccess', function (event) { 
     console.log('Location changed to ' + $location.path()); 
     Analytics.trackPage($location.path()); 
    }); 
    }); 
}) 

.config(function($stateProvider, $urlRouterProvider, AnalyticsProvider) { 
    AnalyticsProvider 
    .setAccount('UA-XXXXXXXX-X') 
    .logAllCalls(true) // Log all outbound calls to an in-memory array accessible via ```Analytics.log``` (default is false). This is useful for troubleshooting and seeing the order of calls with parameters 
    .useAnalytics(true) // Use ga.js (classic) instead of analytics.js (universal). By default, universal analytics is used, unless this is called with a falsey value. 
    .setHybridMobileSupport(true) // If set to a truthy value then each account object will disable protocol checking and all injected scripts will use the HTTPS protocol. 
    .setPageEvent('$stateChangeSuccess') // Change the default page event name. Helpful when using ui-router, which fires $stateChangeSuccess instead of $routeChangeSuccess. 
    .enterDebugMode(true); //Calling this method will enable debugging mode for Universal Analytics 

    // Here routing ... 
}); 

После установки в андроиде и осмотрен с хромом я вижу это:

enter image description here

Обратите внимание, как

Cookie запись не удалось и Отменено выполнение за счет исключения: прервать

Я думаю, потому, что эти ошибки я не вижу каких-либо данных в Google Analytics:

enter image description here

ответ

1

Используйте google-analytics-plugin, если вы используете ионным. Он отлично работает для меня.

Добавить плагин для вашего проекта, используя следующую команду

cordova plugin add https://github.com/danwilson/google-analytics-plugin.git 

Затем вам нужно настроить Analytics трекер внутри вашего приложения. Я добавил это в приложение. И этот код должен быть внутри обработчика 'deviceready'.

if (typeof ga !== "undefined") { 
     ga.startTrackerWithId('UA-XXXX-YY'); //Enter your google analytic ID here 
    } else { 
     console.log("Google Analytics Unavailable"); 
    } 

После этого добавьте следующий код на страницы, которые вы хотите отслеживать.

if (typeof ga !== "undefined") { 
     ga.startTrackerWithId('UA-XXXX-YY'); 
     ga.trackView("Name of your page"); 
    } 

Надеюсь, это поможет вам.

0

Веб-приложения для Android, созданные с использованием Ionic, не поддерживают файлы cookie. GA никогда ничего не посылает, потому что идентификатор клиента не установлен. Чтобы решить эту проблему, вы должны сами создавать и хранить клиентский идентификатор.

Так что, если вы не хотите использовать плагин вы можете настроить его так:

var analyticsOptions = { 
    tracker: 'UA-YOUR-TRACKING-ID', 
    trackEvent: true 
}; 

if(ionic.Platform.isAndroid()){ 
    var clientId = window.localStorage.GA_LOCAL_STORAGE_KEY; 
    if(!clientId){ 
     clientId = Math.floor((Math.random() * 9999999999) + 1000000000); 
     clientId = clientId+'.'+Math.floor((Math.random() * 9999999999) + 1000000000); 

     window.localStorage.setItem('GA_LOCAL_STORAGE_KEY', clientId); 
    } 

    analyticsOptions.fields = { 
     storage: 'none', 
     fields: clientId 
    }; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^