谷歌分析和三星智能电视应用程序

Google Analytics and Samsung Smart TV Apps

本文关键字:智能 电视 应用程序 三星 谷歌      更新时间:2023-09-26

我正在尝试将Google Analytics集成到我的智能电视应用程序中。

它是一个基于Javascript的应用程序,我已经尝试了SamsungDForum上所有可用的解决方案,但没有人工作。

在主索引.html文件的一部分,我加载了谷歌分析:

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

我做错了什么?

所以你需要一个 iframe 来放置带有 GA 代码段的文件。该文件必须位于远程服务器上,因为三星智能电视应用程序在本地主机上工作,而 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 实时玩,您可以看到它的效果有多好。由于 GA 异步工作,因此 iframe 永远不会重新加载。

据我所知,您需要使用 Iframe 链接到它,否则它不会触发事件。

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

我会推荐 - 并最终 - 实现你/我自己的,例如使用GET对Google Analytics进行Ajax调用,如此处所述 https://stackoverflow.com/a/24181771/174953特别是因为所有需要的参数都可以在 GA 自己的文档中找到 https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#content

我在三星论坛中发现 iframe 选项不适用于所有型号,我相信不适用于 2013+