2011-08-11 9 views
8

Szukam dobrego rozwiązania do analityki mobilnej dla Jquery mobile. Zrobiłem sprawdzić to pytanieJak przeprowadzać analitykę mobilną za pomocą Jquery mobile

Flurry Analytics vs Google Analytics on the mobile platform

ale są to wszystkie rozwiązania specyficzne dla producenta/telefonów platformy specyficzne ale jQuery Mobile działa na wszystkich platformach niezależnie od systemu operacyjnego lub producenta. Zasadniczo szukam rozwiązania analitycznego dla aplikacji internetowych.

Dodatkowe informacje: - bango wydaje się drogie 49 USD/miesiąc. AdMob nie będzie działać, ponieważ nie potrzebujemy go do reklamowania, a nie do umieszczania reklam.

Odpowiedz

1

używam następujące fragmenty kodu dla Google Analytics i to działa dobrze:

Poniżej jest prawie normalna konfiguracja Google Analytics:

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', '**-*****-**']); 

(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); 
})(); 

Aktualizacja dla jQuery Mobile jest tutaj tak, że każdy pseudo-strona jest rejestrowane:

$(document).delegate('[data-role=page]', 'pageshow', function (event, ui) { 
    var url = location.href; 
    try { 
     if (location.hash) { 
      url = location.hash; 
     } 
     _gaq.push(['_trackPageview', url]); 
    } 
    catch(error) { 
     // error catch 
    } 
}); 
+0

Wypróbuję to i wyślę moją opinię. – pal4life

+0

Nie próbowałem tego jeszcze, ale Bango Analytics zdecydowanie działa na Mobile Webapps. – pal4life

+0

Gdzie jest zdefiniowany defaulturl? – pauloya

2

Używam następujący:

<script> 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-xxxxxx-xx']); 

    (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); 
    })(); 

$('[data-role=page]').live('pageshow', function (event, ui) { 
    try { 

     hash = location.hash; 

     if (hash && hash.length > 1) { 
      _gaq.push(['_trackPageview', hash.substr(1)]); 
     } else { 
      _gaq.push(['_trackPageview']); 
     } 
    } catch(err) { 

    } 

}); 
</script> 

Zdarzenie "pagehow" jest wywoływane nawet na pierwszej stronie, więc nie myśl, że chcesz włączyć _trackPageview w konfiguracji GA. Ponadto location.hash zwróci adres URL ze znakiem "#", więc hash.subtr (1) wyczyści to, co spowoduje normalizację gości hash/pushstate.

Aktualizacja 11/30/11: Dodano sprawdzanie długości skrótu dla np. Błędu (z: Paulo Manuel Santos).

+0

Znalazłem, że w niektórych przypadkach z IE i po kliknięciu przycisku Wstecz, URL jest renderowane z pustym hash (http: blabla/Index #). Więc zmieniłem go na 'if (hash && hash.length> 1)'. – pauloya

+0

Dla 'else' użyłem' location.pathname'. – pauloya

+0

Ktoś próbował tego rozwiązania i znalazł go * nie działa? Ta konfiguracja działa tylko w przypadku aplikacji, którą wystawiam jako internetowej wersji demonstracyjnej, ale nie w przypadku instalacji mojej aplikacji na telefony komórkowe. – Wytze