2012-04-23 43 views
6

Tôi đang cố gắng tích hợp Google Analytics trong Ứng dụng TV thông minh của mình.Google Analytics và Samsung Smart TV Apps

Đây là một ứng dụng dựa trên Javascript và tôi đã thử tất cả các giải pháp có sẵn trên SamsungDForum, nhưng không có ai hoạt động.

Trong một phần của tập tin index.html chính, tôi tải Google Analytics:

<script type='text/javascript' async='true' src='https://ssl.google-analytics.com/ga.js'></script> 

Sau đó, tôi đang theo dõi lối vào trang:

<script type='text/javascript'> 
    var _gaq = _gaq || []; 
    _gaq.push([ '_setAccount', 'UA-XXXXXXXX-X' ]); 
    _gaq.push([ '_setCustomVar', 1, 'Device Information', 'Samsung Smart TV' ]); 
    _gaq.push([ '_trackPageview' ]); 
    _gaq.push([ '_trackEvent', "Application", "Start" ]); 
</script> 

Thật không may, tôi không thể nhìn thấy trang được theo dõi bên trong tài khoản Analytics của tôi. Id tài khoản thực không phải là UA-XXXXXXXX-X, tôi đang sử dụng đúng ID trong mã thực.

Tôi đang làm gì sai?

Trả lời

1

Theo tôi biết bạn cần liên kết với nó bằng cách sử dụng Iframe, nếu không nó sẽ không kích hoạt sự kiện.

<iframe src='http://yourwebserver.com/ga-code-application-start.html' width='0' height='0'/></iframe> 
+0

Cảm ơn bạn. Sử dụng Iframe, tôi có thể theo dõi các sự kiện và lượt xem trang nội bộ không? –

+0

Nếu bạn thêm _trackEvent vào tệp mà khung nội tuyến tải thì có. Tuy nhiên nếu bạn muốn theo dõi một số thứ khác sau này, bạn cần phải thay đổi iframe scr để nó tải một trang khác với sự kiện được yêu cầu đó. Vì vậy, bạn có thể kết thúc với nhiều tệp theo dõi.html. Một cách bẩn thỉu của nó để làm cho nó hoạt động, nhưng ít nhất bạn có được một số thống kê. – Scriptor

+0

Tôi lo lắng về buổi biểu diễn .... –

7

Vì vậy, bạn cần một khung nội tuyến để đặt tệp bằng đoạn mã GA bên trong. Tệp phải nằm trên máy chủ từ xa, vì ứng dụng Samsung Smart TV hoạt động trên localhost và GA bỏ qua cuộc gọi từ cục bộ.

<iframe name='ga' src="http://example.com/ga.html" width="0" height="0"/> 

Từ đoạn mã GA, bạn có thể xóa dòng, nếu bạn không muốn GA đếm trackPage trên tải iframe.

_gaq.push(['_trackPageview']); 

Sau đó, trong kịch bản chính bạn thêm chức năng này:

var trackPage = function(url) { 
    if (window.ga && window.ga._gaq) 
     window.ga._gaq.push(['_trackPageview', '/samsung' + url.replace(/ /g, "_")]); 
    }; 

Vì vậy, gọi ví dụ trackPage("/sports/football/barcelona chelsea") đâu đó trong ứng dụng sẽ tạo ra trang theo dõi GA với url chính xác:

/samsung/sports/football/barcelona_chelsea 

Nó rất hiệu quả - bạn có thể chơi với GA thời gian thực và bạn có thể thấy nó hoạt động tốt đến mức nào. Vì GA hoạt động không đồng bộ, iframe không bao giờ được tải lại.

1

Tôi muốn giới thiệu - và kết thúc với-thực hiện của bạn/của riêng tôi, với ví dụ một Ajax gọi với GET đến Google Analytics như mô tả ở đây https://stackoverflow.com/a/24181771/174953 Đặc biệt kể từ khi tất cả các thông số cần thiết có thể được tìm thấy trong tài liệu hướng dẫn riêng của GA https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#content

Tôi phát hiện trong diễn đàn Samsung rằng tùy chọn khung nội tuyến không hoạt động trên tất cả các kiểu máy, tôi tin rằng không phải trên 2013+

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