Google Analytics和Samsung智能电视应用程序

6
我将翻译如下内容:

我正在尝试在我的智能电视应用中集成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>

很不幸,我在我的分析账户内无法看到页面追踪的内容。真实的账户ID并不是UA-XXXXXXXX-X,而我在实际代码中使用了正确的ID。

我做错了什么?

3个回答

7

所以你需要一个内嵌框架来放置带有GA代码片段的文件。该文件必须位于远程服务器上,因为三星智能电视应用程序在本地主机上运行,而GA忽略本地调用。

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

你可以从GA代码片段中删除这一行,如果你不希望在iframe加载时GA统计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跟踪页面,其中包含精确的URL:

 /samsung/sports/football/barcelona_chelsea

它非常高效 - 您可以在GA实时模式下进行操作,并且可以看到其工作得多么出色。 由于GA是异步工作的,因此iframe永远不会重新加载。


1

1
据我所知,您需要使用iframe链接它,否则它将无法触发事件。
<iframe src='http://yourwebserver.com/ga-code-application-start.html' width='0' height='0'/></iframe>

谢谢。使用Iframe,我能够跟踪事件和内部页面浏览吗? - Francesco Facconi
如果您将_trackEvent添加到iframe加载的文件中,那么可以。但是,如果您以后想要跟踪其他内容,则需要更改iframe的scr,以便它加载具有所需事件的不同页面。因此,您可能最终会得到多个tracking.html文件。 这是一种不太理想的解决方法,但至少您可以获得一些统计数据。 - Scriptor
我认为,如果您请求太多的跟踪器HTML页面,性能确实可能成为一个问题。尽量减少请求和页面大小是个好主意。 - Scriptor
看我的回答。由于iframe不需要重新加载,因此性能没有问题。这个解决方案已经经过测试。 - Adam Lukaszczyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接