2012-04-23 108 views
6

我在嘗試將Google Analytics(分析)集成到我的智能電視應用程序中。Google Analytics和三星智能電視應用程序

這是一個基於Javascript的應用程序,我嘗試了SamsungDForum上的所有可用解決方案,但沒有人可以使用。

在主index.html文件的一部分,我加載谷歌Analytics(分析):

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

然後,我跟蹤的頁面入口:

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

不幸的是,我不能看到頁面在我的Google Analytics帳戶中跟蹤。真實賬戶ID不是UA-XXXXXXXX-X,我在實際代碼中使用了正確的ID。

我做錯了什麼?

回答

1

據我所知,你需要使用Iframe鏈接到它,否則它不會觸發事件。

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

謝謝。使用Iframe,我能夠跟蹤事件和內部頁面瀏覽量嗎? – 2012-04-23 13:22:09

+0

如果您將_trackEvent添加到iframe加載的文件是。但是,如果您稍後要跟蹤其他內容,則需要更改iframe scr,以便使用該必需事件加載不同的頁面。 所以你可能會得到多個tracking.html文件。 它是一種骯髒的方式讓它工作,但至少你得到了一些統計數據。 – Scriptor 2012-04-23 16:28:10

+0

我很擔心表演...... – 2012-04-23 21:22:48

7

所以你需要一個iframe來把文件和GA代碼片段放在一起。該文件必須位於遠程服務器上,因爲三星智能電視應用程序在本地主機上運行,​​GA忽略來自本地的呼叫。

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

從GA片斷,你可以刪除行,如果你不想GA對iframe的負荷數trackPage。

_gaq.push(['_trackPageview']); 

然後在主腳本添加此功能:

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

因此,在應用程序調用例如trackPage("/sports/football/barcelona chelsea")地方會產生GA跟蹤頁面準確網址:

/samsung/sports/football/barcelona_chelsea 

它非常高效 - 您可以使用GA實時玩,並且可以看到它有多好。 由於GA工作異步,iframe永遠不會重新加載。