Привет, я пытался интегрировать аналитику Google с моим гибридным мобильным приложением, разработанным с помощью durandal и phonegap. Вот что я сделал до сих пор:
Я скопировал фрагмент кода, сгенерированный аналитикой Google, и добавил его в свой родительский html-файл. Код выглядит так, и я проверил источник, чтобы убедиться, что он загружен:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
Затем я связался с событием завершения маршрута Durandal следующим образом:
vm.router.on('router:navigation:complete').then(function (instance) {
window._gaq.push(['_trackPageview', location.pathname + location.search + location.hash]);
});
Этот фрагмент кода выполняется каждый раз при изменении страницы.
Затем я начал перемещаться по приложению, и через полчаса на странице аналитики все еще не отображались данные.
Я проверил приложения в инструменте разработчика Chrome, чтобы увидеть, был ли сделан какой-либо вызов в Google, и ни один из них не отображается.
Кто-нибудь знает, что я делаю неправильно?
ИЗМЕНИТЬ
Из документов я понял, что мне нужно было установить для своего домена значение none, чтобы иметь место вызовы Google Analytics:
_gaq.push(['_setDomainName', 'none']);
Я предполагаю, что это правильный путь, потому что это будет гибридное приложение, которое будет работать на многих разных планшетах. Кто-нибудь может подтвердить это, пожалуйста?