我正在尝试将Google Analytics整合到智能电视应用中。
这是一个基于Javascript的应用程序,我已经尝试了SamsungDForum上提供的所有解决方案,但没有人可以使用。
在主index.html文件的部分中,我加载了Google 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。
我做错了什么?
答案 0 :(得分:7)
因此,您需要一个iframe来将带有GA代码段的文件放入其中。该文件必须位于远程服务器上,因为Samsung Smart TV应用程序适用于localhost,GA忽略来自本地的调用。
<iframe name='ga' src="http://example.com/ga.html" width="0" height="0"/>
如果您不希望GA在iframe加载时计算trackPage,则可以从GA片段中删除该行。
_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 Real时间,你可以看到它有多好用。 由于GA工作异步,iframe永远不会重新加载。
答案 1 :(得分:1)
据我所知,你需要使用iframe链接到它,否则它不会触发事件。
<iframe src='http://yourwebserver.com/ga-code-application-start.html' width='0' height='0'/></iframe>
答案 2 :(得分:1)
我建议 - 并最终实现您/我自己,例如使用GET向Google Analytics进行Ajax调用,如此处所述https://stackoverflow.com/a/24181771/174953 特别是因为所有需要的参数都可以在GA自己的文档https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#content
中找到我在三星论坛上发现iframe选项并不适用于所有型号,我相信不会在2013 +上