2011-01-24 37 views
11

Tôi đang cố gắng theo dõi các trang bằng cách sử dụng Google Analytics trong ứng dụng GWT. Tôi đã kiểm tra các chủ đề sau: Integrating Google Analytics into GWT applicationCách tích hợp Google Analytics vào GWT bằng cách sử dụng tập lệnh không đồng bộ

Tôi nghĩ rằng giải pháp:

public static native void recordAnalyticsHit(String pageName) /*-{ 
$wnd.pageTracker._trackPageview(pageName);}-*/; 

chỉ hoạt động bằng cách sử dụng kịch bản đồng bộ GA.

Tôi đang cố gắng với những điều sau:

public native void trackHit (String pageName) /*-{ 
    try { 
    $wnd._gaq.push (['_setAccount', 'UA-XXXXXX-XX']); 
    $wnd._gaq.push (['_setDomainName', '.mydomain.com']); 
    $wnd._gaq.push (['_trackPageview', pageName]); 
    } catch (err) { 
    alert('failure on gaq' + err); 
    } 
}-*/; 

Và không làm việc cho tôi.

Trả lời

20

Dưới đây là trang của bạn- và sự kiện theo dõi của tôi chức năng:

public static native void trackEvent(String category, String action, String label) /*-{ 
    $wnd._gaq.push(['_trackEvent', category, action, label]); 
}-*/; 

public static native void trackEvent(String category, String action, String label, int intArg) /*-{ 
    $wnd._gaq.push(['_trackEvent', category, action, label, intArg]); 
}-*/; 

public static native void trackPageview(String url) /*-{ 
    $wnd._gaq.push(['_trackPageview', url]); 
}-*/; 

tôi làm những thứ _setAccount như bình thường trong trang chủ (cần phải thực hiện trước khi trackPageview() vv sẽ làm việc:

<!-- Analytics --> 
<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-FAKE1234-2']); 

    (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> 

Bạn không cần phải sử dụng setAccount mỗi khi bạn đăng sự kiện, chỉ khi bắt đầu. Tôi không bận tâm với thử {} catch {} nội dung ... Tôi không thực sự biết JavaScript.

+0

làm việc bây giờ! Cảm ơn bạn Riley – Andres

1

ở đó là một dự án trên mã goole được gọi là gwt-gatracker thực hiện chức năng GA để sử dụng trong các dự án GWT. check it out here

3

Có phiên bản Google Analytics mới sử dụng tập lệnh analytics.js mới. Đó là quá trình tương tự, mặc dù chỉ cần thêm đoạn mã trong phần đầu html của bạn:

<script> 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

    ga('create', 'UA-YOUR_ACCOUNT-X', 'auto'); 
    ga('send', 'pageview'); 
</script> 

Và sau đó có thể gọi các phương pháp mới như vậy:

public static native void googleAnalyticsTrackPageView(String url) /*-{ 
    $wnd.ga('send', 'pageview', url); 
}-*/; 
+1

Điều này sẽ được đánh dấu là câu trả lời ngay bây giờ. –

Các vấn đề liên quan