I am looking for a good solution to do mobile analytics for Jquery mobile . I did check this question
Flurry Analytics vs Google Analytics on the mobile platform
but these are all solutions for a platform specific/ phone manufacturer specific but jquery mobile works on all platforms irrespective of the manufacturer or operating system. Essentially i am looking for a analytics solution for webapps.
Additional Info:- bango seems expensive at $49/month. Admob wont work since we dont need it for advertising and not for placing ads.
The team announced that the cross-platform jQuery Mobile project under its umbrella is fully deprecated as of October 7, 2021. New technologies for mobile app development have evolved since this project was launched in 2010, so we're encouraging developers to plan for this jQuery Mobile transition.
The framework allows developers to build applications that can be accessed by the widest number of browsers and devices, whether it is Internet Explorer 6 or the newest Android or iPhone. Mobile jQuery also gives developers the ability to render basic content (as built) on basic devices.
jQuery is a DOM manipulating/traversing and AJAX JavaScript framework. It abstracts out a lot of the complexity between the different browsers automatically. There are countless jQuery plugins that simplify many task. jQuery Mobile is a UI framework geared to mobile applications that is built on jQuery.
According to https://github.com/jquery/jquery-mobile/issues/8546#issuecomment-271163317, jQuery Mobile 1.5 will be compatible with jQuery 3. It doesn't seem to have been released at http://jquerymobile.com/ yet, so we might have to wait, or get it from their GitHub repo.
I'm using the following:
<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>
The 'pageshow' event fires even for the first page, so don't think you want to include the _trackPageview with the GA setup. Also, location.hash will return url with the "#" character so hash.subtr(1) cleans that off which will normalize hash/pushstate visitors.
Update 11/30/11: Added check for hash length for ie bug (from: Paulo Manuel Santos).
I use the following bits of code for Google Analytics and it works well:
The following is pretty much the normal Google Analytics setup:
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);
})();
The update for jQuery Mobile is here so that each pseudo-page is logged:
$(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
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With